class org.bouncycastle.jce.provider.RFC3281CertPathUtilities
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.jce.provider.RFC3281CertPathUtilities
super_class: java.lang.Object
{
private static final java.lang.String TARGET_INFORMATION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NO_REV_AVAIL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String CRL_DISTRIBUTION_POINTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String AUTHORITY_INFO_ACCESS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.asn1.x509.X509Extensions.TargetInformation:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1: invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
2: putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
3: getstatic org.bouncycastle.asn1.x509.X509Extensions.NoRevAvail:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
4: invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
5: putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.NO_REV_AVAIL:Ljava/lang/String;
6: getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLDistributionPoints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
7: invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
8: putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
9: getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityInfoAccess:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
10: invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
11: putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.AUTHORITY_INFO_ACCESS:Ljava/lang/String;
12: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/RFC3281CertPathUtilities;
protected static void processAttrCert7(org.bouncycastle.x509.X509AttributeCertificate, java.security.cert.CertPath, java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/CertPath;Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 4
start local 4 1: aload 4
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 13
2: aload 0
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
3: invokestatic org.bouncycastle.asn1.x509.TargetInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/TargetInformation;
pop
4: goto 13
5: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate java.security.cert.CertPath java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 5
start local 5 6: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
7: ldc "Target information extension could not be read."
aload 5
8: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 9: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 10: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
11: ldc "Target information extension could not be read."
aload 5
12: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 13: StackMap locals:
StackMap stack:
aload 4
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
14: aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getAttrCertCheckers:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 15: goto 19
16: StackMap locals: java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.x509.PKIXAttrCertChecker
aload 0
aload 1
17: aload 2
aload 4
18: invokevirtual org.bouncycastle.x509.PKIXAttrCertChecker.check:(Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/CertPath;Ljava/security/cert/CertPath;Ljava/util/Collection;)V
19: StackMap locals:
StackMap stack:
aload 5
20: invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 5 21: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifne 27
22: new java.security.cert.CertPathValidatorException
dup
23: new java.lang.StringBuilder
dup
ldc "Attribute certificate contains unsupported critical extensions: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 28 1 certPath Ljava/security/cert/CertPath;
0 28 2 holderCertPath Ljava/security/cert/CertPath;
0 28 3 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 28 4 set Ljava/util/Set;
6 9 5 e Lorg/bouncycastle/jce/provider/AnnotatedException;
10 13 5 e Ljava/lang/IllegalArgumentException;
15 21 5 it Ljava/util/Iterator;
Exception table:
from to target type
2 4 5 Class org.bouncycastle.jce.provider.AnnotatedException
2 4 9 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
attrCert
certPath
holderCertPath
pkixParams
protected static void checkCRLs(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.util.List);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/util/List;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=11, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isRevocationEnabled:()Z
ifeq 114
1: aload 0
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.NO_REV_AVAIL:Ljava/lang/String;
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
ifnonnull 109
2: aconst_null
astore 5
start local 5 3: aload 0
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
4: invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
astore 5
5: goto 11
6: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 7: new java.security.cert.CertPathValidatorException
dup
8: ldc "CRL distribution point extension could not be read."
9: aload 6
10: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
12: aload 1
13: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
14: goto 20
15: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 16: new java.security.cert.CertPathValidatorException
dup
17: ldc "No additional CRL locations could be decoded from CRL distribution point extension."
18: aload 6
19: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 20: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.CertStatus
dup
invokespecial org.bouncycastle.jce.provider.CertStatus.<init>:()V
astore 6
start local 6 21: new org.bouncycastle.jce.provider.ReasonsMask
dup
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:()V
astore 7
start local 7 22: aconst_null
astore 8
start local 8 23: iconst_0
istore 9
start local 9 24: aload 5
ifnull 51
25: aconst_null
astore 10
start local 10 26: aload 5
invokevirtual org.bouncycastle.asn1.x509.CRLDistPoint.getDistributionPoints:()[Lorg/bouncycastle/asn1/x509/DistributionPoint;
astore 10
27: goto 32
28: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.x509.DistributionPoint[]
StackMap stack: java.lang.Exception
astore 11
start local 11 29: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
30: ldc "Distribution points could not be read."
aload 11
31: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 32: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 33: goto 43
34: StackMap locals: int
StackMap stack:
aload 1
35: invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
36: checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 12
start local 12 37: aload 10
iload 11
aaload
aload 0
aload 12
38: aload 3
aload 2
aload 6
aload 7
39: aload 4
40: invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
41: iconst_1
istore 9
end local 12 42: iinc 11 1
43: StackMap locals:
StackMap stack:
iload 11
aload 10
arraylength
if_icmpge 51
44: aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 51
45: aload 7
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifeq 34
end local 11 46: goto 51
47: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.x509.DistributionPoint[]
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 11
start local 11 48: new org.bouncycastle.jce.provider.AnnotatedException
dup
49: ldc "No valid CRL for distribution point found."
aload 11
50: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 8
end local 11 end local 10 51: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 88
52: aload 7
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifne 88
53: aconst_null
astore 10
start local 10 54: new org.bouncycastle.asn1.ASN1InputStream
dup
55: aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
56: invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
iconst_0
57: aaload
checkcast javax.security.auth.x500.X500Principal
58: invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
59: invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
60: invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
61: astore 10
62: goto 68
63: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.DERObject
StackMap stack: java.lang.Exception
astore 11
start local 11 64: new org.bouncycastle.jce.provider.AnnotatedException
dup
65: ldc "Issuer from certificate for CRL could not be reencoded."
66: aload 11
67: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 68: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.x509.DistributionPoint
dup
69: new org.bouncycastle.asn1.x509.DistributionPointName
dup
iconst_0
new org.bouncycastle.asn1.x509.GeneralNames
dup
70: new org.bouncycastle.asn1.x509.GeneralName
dup
iconst_4
71: aload 10
72: invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
invokespecial org.bouncycastle.asn1.x509.GeneralNames.<init>:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
73: invokespecial org.bouncycastle.asn1.x509.DistributionPointName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
74: aconst_null
aconst_null
75: invokespecial org.bouncycastle.asn1.x509.DistributionPoint.<init>:(Lorg/bouncycastle/asn1/x509/DistributionPointName;Lorg/bouncycastle/asn1/x509/ReasonFlags;Lorg/bouncycastle/asn1/x509/GeneralNames;)V
astore 11
start local 11 76: aload 1
77: invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
78: checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 12
start local 12 79: aload 11
aload 0
aload 12
aload 3
80: aload 2
aload 6
aload 7
aload 4
81: invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
82: iconst_1
istore 9
end local 12 end local 11 end local 10 83: goto 88
84: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 10
start local 10 85: new org.bouncycastle.jce.provider.AnnotatedException
dup
86: ldc "No valid CRL for distribution point found."
aload 10
87: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 8
end local 10 88: StackMap locals:
StackMap stack:
iload 9
ifne 92
89: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
90: ldc "No valid CRL found."
aload 8
91: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
92: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpeq 102
93: new java.lang.StringBuilder
dup
ldc "Attribute certificate revocation after "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
94: aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getRevocationDate:()Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
95: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 96: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", reason: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
97: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.crlReasons:[Ljava/lang/String;
aload 6
98: invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
99: aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
100: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
101: new java.security.cert.CertPathValidatorException
dup
aload 10
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 10 102: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifne 105
103: aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 105
104: aload 6
bipush 12
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
105: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 12
if_icmpne 114
106: new java.security.cert.CertPathValidatorException
dup
107: ldc "Attribute certificate status could not be determined."
108: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 109: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List
StackMap stack:
aload 0
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
ifnonnull 111
110: aload 0
getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.AUTHORITY_INFO_ACCESS:Ljava/lang/String;
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
ifnull 114
111: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
112: ldc "No rev avail extension is set, but also an AC revocation pointer."
113: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
114: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 115 0 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 115 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 115 2 issuerCert Ljava/security/cert/X509Certificate;
0 115 3 validDate Ljava/util/Date;
0 115 4 certPathCerts Ljava/util/List;
3 109 5 crldp Lorg/bouncycastle/asn1/x509/CRLDistPoint;
7 11 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
16 20 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
21 109 6 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
22 109 7 reasonsMask Lorg/bouncycastle/jce/provider/ReasonsMask;
23 109 8 lastException Lorg/bouncycastle/jce/provider/AnnotatedException;
24 109 9 validCrlFound Z
26 51 10 dps [Lorg/bouncycastle/asn1/x509/DistributionPoint;
29 32 11 e Ljava/lang/Exception;
33 46 11 i I
37 42 12 paramsPKIXClone Lorg/bouncycastle/x509/ExtendedPKIXParameters;
48 51 11 e Lorg/bouncycastle/jce/provider/AnnotatedException;
54 83 10 issuer Lorg/bouncycastle/asn1/DERObject;
64 68 11 e Ljava/lang/Exception;
76 83 11 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
79 83 12 paramsPKIXClone Lorg/bouncycastle/x509/ExtendedPKIXParameters;
85 88 10 e Lorg/bouncycastle/jce/provider/AnnotatedException;
96 102 10 message Ljava/lang/String;
Exception table:
from to target type
3 5 6 Class org.bouncycastle.jce.provider.AnnotatedException
11 14 15 Class org.bouncycastle.jce.provider.AnnotatedException
26 27 28 Class java.lang.Exception
32 46 47 Class org.bouncycastle.jce.provider.AnnotatedException
54 62 63 Class java.lang.Exception
53 83 84 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
attrCert
paramsPKIX
issuerCert
validDate
certPathCerts
protected static void additionalChecks(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getProhibitedACAttributes:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: goto 9
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
aload 3
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getAttributes:(Ljava/lang/String;)[Lorg/bouncycastle/x509/X509Attribute;
ifnull 9
4: new java.security.cert.CertPathValidatorException
dup
5: new java.lang.StringBuilder
dup
ldc "Attribute certificate contains prohibited attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 3 9: StackMap locals:
StackMap stack:
aload 2
10: invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 2 11: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getNecessaryACAttributes:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 12: goto 20
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 14: aload 0
aload 3
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getAttributes:(Ljava/lang/String;)[Lorg/bouncycastle/x509/X509Attribute;
ifnonnull 20
15: new java.security.cert.CertPathValidatorException
dup
16: new java.lang.StringBuilder
dup
ldc "Attribute certificate does not contain necessary attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 3 20: StackMap locals:
StackMap stack:
aload 2
21: invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 2 22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 23 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 11 2 it Ljava/util/Iterator;
3 9 3 oid Ljava/lang/String;
12 22 2 it Ljava/util/Iterator;
14 20 3 oid Ljava/lang/String;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
attrCert
pkixParams
protected static void processAttrCert5(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidDate:(Ljava/security/cert/PKIXParameters;)Ljava/util/Date;
2: invokeinterface org.bouncycastle.x509.X509AttributeCertificate.checkValidity:(Ljava/util/Date;)V
3: goto 12
4: StackMap locals:
StackMap stack: java.security.cert.CertificateExpiredException
astore 2
start local 2 5: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
6: ldc "Attribute certificate is not valid."
aload 2
7: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 8: StackMap locals:
StackMap stack: java.security.cert.CertificateNotYetValidException
astore 2
start local 2 9: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
10: ldc "Attribute certificate is not valid."
aload 2
11: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 13 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
5 8 2 e Ljava/security/cert/CertificateExpiredException;
9 12 2 e Ljava/security/cert/CertificateNotYetValidException;
Exception table:
from to target type
0 3 4 Class java.security.cert.CertificateExpiredException
0 3 8 Class java.security.cert.CertificateNotYetValidException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
attrCert
pkixParams
protected static void processAttrCert4(java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getTrustedACIssuers:()Ljava/util/Set;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
start local 4 3: goto 9
4: StackMap locals: java.util.Set int java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 5
start local 5 5: aload 0
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
ldc "RFC2253"
invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
6: aload 5
invokevirtual java.security.cert.TrustAnchor.getCAName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 0
aload 5
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 9
8: StackMap locals: java.security.cert.TrustAnchor
StackMap stack:
iconst_1
istore 3
end local 5 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 10: iload 3
ifne 14
11: new java.security.cert.CertPathValidatorException
dup
12: ldc "Attribute certificate issuer is not directly trusted."
13: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 acIssuerCert Ljava/security/cert/X509Certificate;
0 15 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 15 2 set Ljava/util/Set;
2 15 3 trusted Z
3 10 4 it Ljava/util/Iterator;
5 9 5 anchor Ljava/security/cert/TrustAnchor;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
acIssuerCert
pkixParams
protected static void processAttrCert3(java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
ifnull 5
1: aload 0
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
iconst_0
baload
ifne 5
aload 0
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
iconst_1
baload
ifne 5
2: new java.security.cert.CertPathValidatorException
dup
3: ldc "Attribute certificate issuer public key cannot be used to validate digital signatures."
4: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
iconst_m1
if_icmpeq 9
6: new java.security.cert.CertPathValidatorException
dup
7: ldc "Attribute certificate issuer is also a public key certificate issuer."
8: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 acIssuerCert Ljava/security/cert/X509Certificate;
0 10 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
acIssuerCert
pkixParams
protected static java.security.cert.CertPathValidatorResult processAttrCert2(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPathValidatorResult;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: ldc "PKIX"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.cert.CertPathValidator.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
astore 2
2: goto 11
3: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathValidator
StackMap stack: java.security.NoSuchProviderException
astore 3
start local 3 4: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
5: ldc "Support class could not be created."
aload 3
6: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 7: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 3
start local 3 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
9: ldc "Support class could not be created."
aload 3
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual java.security.cert.CertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
12: areturn
13: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 3
start local 3 14: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
15: ldc "Certification path for issuer certificate of attribute certificate could not be validated."
16: aload 3
17: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 18: StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
astore 3
start local 3 19: new java.lang.RuntimeException
dup
aload 3
invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 certPath Ljava/security/cert/CertPath;
0 20 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 20 2 validator Ljava/security/cert/CertPathValidator;
4 7 3 e Ljava/security/NoSuchProviderException;
8 11 3 e Ljava/security/NoSuchAlgorithmException;
14 18 3 e Ljava/security/cert/CertPathValidatorException;
19 20 3 e Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
1 2 3 Class java.security.NoSuchProviderException
1 2 7 Class java.security.NoSuchAlgorithmException
11 12 13 Class java.security.cert.CertPathValidatorException
11 12 18 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
pkixParams
protected static java.security.cert.CertPath processAttrCert1(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPath;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getIssuer:()[Ljava/security/Principal;
ifnull 31
3: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 4
start local 4 4: aload 4
aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSerialNumber:(Ljava/math/BigInteger;)V
5: aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getIssuer:()[Ljava/security/Principal;
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 26
8: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathBuilderResult java.util.Set org.bouncycastle.x509.X509CertStoreSelector java.security.Principal[] int
StackMap stack:
aload 5
iload 6
aaload
instanceof javax.security.auth.x500.X500Principal
ifeq 12
9: aload 4
aload 5
iload 6
aaload
checkcast javax.security.auth.x500.X500Principal
10: invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
11: invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setIssuer:([B)V
12: StackMap locals:
StackMap stack:
aload 3
13: aload 4
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
14: invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
15: goto 25
16: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 7
start local 7 17: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
18: ldc "Public key certificate for attribute certificate cannot be searched."
19: aload 7
20: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 21: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 22: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
23: ldc "Unable to encode X500 principal."
aload 7
24: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 25: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
aload 5
arraylength
if_icmplt 8
end local 6 27: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 31
28: new java.security.cert.CertPathValidatorException
dup
29: ldc "Public key certificate specified in base certificate ID for attribute certificate cannot be found."
30: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 31: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
ifnull 59
32: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 4
start local 4 33: aload 0
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
astore 5
start local 5 34: iconst_0
istore 6
start local 6 35: goto 54
36: StackMap locals: org.bouncycastle.x509.X509CertStoreSelector java.security.Principal[] int
StackMap stack:
aload 5
iload 6
aaload
instanceof javax.security.auth.x500.X500Principal
ifeq 40
37: aload 4
aload 5
iload 6
aaload
checkcast javax.security.auth.x500.X500Principal
38: invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
39: invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setIssuer:([B)V
40: StackMap locals:
StackMap stack:
aload 3
41: aload 4
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
42: invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
43: goto 53
44: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 7
start local 7 45: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
46: ldc "Public key certificate for attribute certificate cannot be searched."
47: aload 7
48: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 49: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 50: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
51: ldc "Unable to encode X500 principal."
aload 7
52: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 53: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
54: iload 6
aload 5
arraylength
if_icmplt 36
end local 6 55: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 59
56: new java.security.cert.CertPathValidatorException
dup
57: ldc "Public key certificate specified in entity name for attribute certificate cannot be found."
58: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 59: StackMap locals:
StackMap stack:
aload 1
invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
60: checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
astore 4
start local 4 61: aconst_null
astore 5
start local 5 62: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
start local 6 63: goto 90
64: StackMap locals: org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.security.cert.CertPathValidatorException java.util.Iterator
StackMap stack:
new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 7
start local 7 65: aload 7
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
66: aload 4
aload 7
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setTargetConstraints:(Lorg/bouncycastle/util/Selector;)V
67: aconst_null
astore 8
start local 8 68: ldc "PKIX"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
astore 8
69: goto 78
70: StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathBuilderResult java.util.Set org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.security.cert.CertPathValidatorException java.util.Iterator org.bouncycastle.x509.X509CertStoreSelector java.security.cert.CertPathBuilder
StackMap stack: java.security.NoSuchProviderException
astore 9
start local 9 71: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
72: ldc "Support class could not be created."
aload 9
73: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 74: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 9
start local 9 75: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
76: ldc "Support class could not be created."
aload 9
77: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 78: StackMap locals:
StackMap stack:
aload 8
79: aload 4
invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
80: invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
astore 2
81: goto 90
82: StackMap locals:
StackMap stack: java.security.cert.CertPathBuilderException
astore 9
start local 9 83: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
84: ldc "Certification path for public key certificate of attribute certificate could not be build."
85: aload 9
86: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 5
end local 9 87: goto 90
88: StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
astore 9
start local 9 89: new java.lang.RuntimeException
dup
aload 9
invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 90: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
end local 6 91: aload 5
ifnull 93
92: aload 5
athrow
93: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 94 0 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 94 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 94 2 result Ljava/security/cert/CertPathBuilderResult;
2 94 3 holderPKCs Ljava/util/Set;
4 31 4 selector Lorg/bouncycastle/x509/X509CertStoreSelector;
6 31 5 principals [Ljava/security/Principal;
7 27 6 i I
17 21 7 e Lorg/bouncycastle/jce/provider/AnnotatedException;
22 25 7 e Ljava/io/IOException;
33 59 4 selector Lorg/bouncycastle/x509/X509CertStoreSelector;
34 59 5 principals [Ljava/security/Principal;
35 55 6 i I
45 49 7 e Lorg/bouncycastle/jce/provider/AnnotatedException;
50 53 7 e Ljava/io/IOException;
61 94 4 params Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
62 94 5 lastException Ljava/security/cert/CertPathValidatorException;
63 91 6 it Ljava/util/Iterator;
65 90 7 selector Lorg/bouncycastle/x509/X509CertStoreSelector;
68 90 8 builder Ljava/security/cert/CertPathBuilder;
71 74 9 e Ljava/security/NoSuchProviderException;
75 78 9 e Ljava/security/NoSuchAlgorithmException;
83 87 9 e Ljava/security/cert/CertPathBuilderException;
89 90 9 e Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
8 15 16 Class org.bouncycastle.jce.provider.AnnotatedException
8 15 21 Class java.io.IOException
36 43 44 Class org.bouncycastle.jce.provider.AnnotatedException
36 43 49 Class java.io.IOException
68 69 70 Class java.security.NoSuchProviderException
68 69 74 Class java.security.NoSuchAlgorithmException
78 81 82 Class java.security.cert.CertPathBuilderException
78 81 88 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
attrCert
pkixParams
private static void checkCRL(org.bouncycastle.asn1.x509.DistributionPoint, org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.Date, java.security.cert.X509Certificate, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.jce.provider.ReasonsMask, java.util.List);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=19, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
getstatic org.bouncycastle.asn1.x509.X509Extensions.NoRevAvail:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.util.Date.<init>:(J)V
astore 8
start local 8 3: aload 3
invokevirtual java.util.Date.getTime:()J
aload 8
invokevirtual java.util.Date.getTime:()J
lcmp
ifle 5
4: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Validation time is in future."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.Date
StackMap stack:
aload 0
aload 1
6: aload 8
aload 2
7: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCompleteCRLs:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/util/Set;
astore 9
start local 9 8: iconst_0
istore 10
start local 10 9: aconst_null
astore 11
start local 11 10: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
start local 12 11: goto 50
12: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.util.Date java.security.cert.X509Certificate org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 13
start local 13 13: aload 13
aload 0
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLD:(Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
14: astore 14
start local 14 15: aload 14
aload 6
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.hasNewReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Z
ifne 17
16: goto 50
17: StackMap locals: java.security.cert.X509CRL org.bouncycastle.jce.provider.ReasonsMask
StackMap stack:
aload 13
aload 1
18: aconst_null
aconst_null
aload 2
aload 7
19: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLF:(Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
astore 15
start local 15 20: aload 13
aload 15
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLG:(Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
astore 16
start local 16 21: aconst_null
astore 17
start local 17 22: aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 28
23: aload 8
aload 2
aload 13
24: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
astore 18
start local 18 25: aload 18
26: aload 16
27: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLH:(Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
astore 17
end local 18 28: StackMap locals: java.util.Set java.security.PublicKey java.security.cert.X509CRL
StackMap stack:
aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getValidityModel:()I
iconst_1
if_icmpeq 34
29: aload 1
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
aload 13
invokevirtual java.security.cert.X509CRL.getThisUpdate:()Ljava/util/Date;
30: invokevirtual java.util.Date.getTime:()J
lcmp
ifge 34
31: new org.bouncycastle.jce.provider.AnnotatedException
dup
32: ldc "No valid CRL for current time found."
33: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 13
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB1:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
35: aload 0
aload 1
aload 13
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB2:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
36: aload 17
aload 13
aload 2
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLC:(Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
37: aload 3
aload 17
38: aload 1
aload 5
aload 2
39: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLI:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
40: aload 3
aload 13
aload 1
41: aload 5
42: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLJ:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
43: aload 5
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 8
if_icmpne 45
44: aload 5
bipush 11
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
45: StackMap locals:
StackMap stack:
aload 6
aload 14
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.addReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)V
46: iconst_1
istore 10
end local 17 end local 16 end local 15 end local 14 end local 13 47: goto 50
48: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.util.Date java.security.cert.X509Certificate org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 13
start local 13 49: aload 13
astore 11
end local 13 50: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 53
51: aload 5
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 53
52: aload 6
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifeq 12
53: StackMap locals:
StackMap stack:
iload 10
ifne 55
54: aload 11
athrow
55: StackMap locals:
StackMap stack:
return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 56 1 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 56 2 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 56 3 validDate Ljava/util/Date;
0 56 4 issuerCert Ljava/security/cert/X509Certificate;
0 56 5 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
0 56 6 reasonMask Lorg/bouncycastle/jce/provider/ReasonsMask;
0 56 7 certPathCerts Ljava/util/List;
3 56 8 currentDate Ljava/util/Date;
8 56 9 crls Ljava/util/Set;
9 56 10 validCrlFound Z
10 56 11 lastException Lorg/bouncycastle/jce/provider/AnnotatedException;
11 56 12 crl_iter Ljava/util/Iterator;
13 47 13 crl Ljava/security/cert/X509CRL;
15 47 14 interimReasonsMask Lorg/bouncycastle/jce/provider/ReasonsMask;
20 47 15 keys Ljava/util/Set;
21 47 16 key Ljava/security/PublicKey;
22 47 17 deltaCRL Ljava/security/cert/X509CRL;
25 28 18 deltaCRLs Ljava/util/Set;
49 50 13 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
12 16 48 Class org.bouncycastle.jce.provider.AnnotatedException
17 47 48 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
attrCert
paramsPKIX
validDate
issuerCert
certStatus
reasonMask
certPathCerts
}
SourceFile: "RFC3281CertPathUtilities.java"