class org.bouncycastle.pkix.jcajce.RevocationUtilities
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.pkix.jcajce.RevocationUtilities
super_class: java.lang.Object
{
protected static final org.bouncycastle.pkix.jcajce.PKIXCRLUtil CRL_UTIL;
descriptor: Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String CERTIFICATE_POLICIES;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String BASIC_CONSTRAINTS;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String POLICY_MAPPINGS;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String SUBJECT_ALTERNATIVE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String NAME_CONSTRAINTS;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String KEY_USAGE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String INHIBIT_ANY_POLICY;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String ISSUING_DISTRIBUTION_POINT;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String DELTA_CRL_INDICATOR;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String POLICY_CONSTRAINTS;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String FRESHEST_CRL;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String CRL_DISTRIBUTION_POINTS;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String AUTHORITY_KEY_IDENTIFIER;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String ANY_POLICY;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "2.5.29.32.0"
protected static final java.lang.String CRL_NUMBER;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final int KEY_CERT_SIGN;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 5
protected static final int CRL_SIGN;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 6
protected static final java.lang.String[] crlReasons;
descriptor: [Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new org.bouncycastle.pkix.jcajce.PKIXCRLUtil
dup
invokespecial org.bouncycastle.pkix.jcajce.PKIXCRLUtil.<init>:()V
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CRL_UTIL:Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
1: getstatic org.bouncycastle.asn1.x509.Extension.certificatePolicies:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
2: getstatic org.bouncycastle.asn1.x509.Extension.basicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
3: getstatic org.bouncycastle.asn1.x509.Extension.policyMappings:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.POLICY_MAPPINGS:Ljava/lang/String;
4: getstatic org.bouncycastle.asn1.x509.Extension.subjectAlternativeName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
5: getstatic org.bouncycastle.asn1.x509.Extension.nameConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
6: getstatic org.bouncycastle.asn1.x509.Extension.keyUsage:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.KEY_USAGE:Ljava/lang/String;
7: getstatic org.bouncycastle.asn1.x509.Extension.inhibitAnyPolicy:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
8: getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
9: getstatic org.bouncycastle.asn1.x509.Extension.deltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
10: getstatic org.bouncycastle.asn1.x509.Extension.policyConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
11: getstatic org.bouncycastle.asn1.x509.Extension.freshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.FRESHEST_CRL:Ljava/lang/String;
12: getstatic org.bouncycastle.asn1.x509.Extension.cRLDistributionPoints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
13: getstatic org.bouncycastle.asn1.x509.Extension.authorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
14: getstatic org.bouncycastle.asn1.x509.Extension.cRLNumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CRL_NUMBER:Ljava/lang/String;
15: bipush 11
anewarray java.lang.String
dup
iconst_0
16: ldc "unspecified"
aastore
dup
iconst_1
17: ldc "keyCompromise"
aastore
dup
iconst_2
18: ldc "cACompromise"
aastore
dup
iconst_3
19: ldc "affiliationChanged"
aastore
dup
iconst_4
20: ldc "superseded"
aastore
dup
iconst_5
21: ldc "cessationOfOperation"
aastore
dup
bipush 6
22: ldc "certificateHold"
aastore
dup
bipush 7
23: ldc "unknown"
aastore
dup
bipush 8
24: ldc "removeFromCRL"
aastore
dup
bipush 9
25: ldc "privilegeWithdrawn"
aastore
dup
bipush 10
26: ldc "aACompromise"
aastore
27: putstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.crlReasons:[Ljava/lang/String;
28: 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/pkix/jcajce/RevocationUtilities;
protected static java.security.cert.TrustAnchor findTrustAnchor(java.security.cert.X509Certificate, java.util.Set);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Set;)Ljava/security/cert/TrustAnchor;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findTrustAnchor:(Ljava/security/cert/X509Certificate;Ljava/util/Set;Ljava/lang/String;)Ljava/security/cert/TrustAnchor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cert Ljava/security/cert/X509Certificate;
0 1 1 trustAnchors Ljava/util/Set;
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
cert
trustAnchors
protected static java.security.cert.TrustAnchor findTrustAnchor(java.security.cert.X509Certificate, java.util.Set, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Set;Ljava/lang/String;)Ljava/security/cert/TrustAnchor;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
astore 6
start local 6 4: aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
astore 7
start local 7 5: aload 6
aload 7
invokevirtual org.bouncycastle.asn1.x500.X500Name.getEncoded:()[B
invokevirtual java.security.cert.X509CertSelector.setSubject:([B)V
6: goto 9
7: StackMap locals: java.security.cert.X509Certificate java.util.Set java.lang.String java.security.cert.TrustAnchor java.security.PublicKey java.lang.Exception java.security.cert.X509CertSelector org.bouncycastle.asn1.x500.X500Name
StackMap stack: java.io.IOException
astore 8
start local 8 8: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
ldc "Cannot set subject search criteria for trust anchor."
aload 8
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 9: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
start local 8 10: goto 37
11: StackMap locals: java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 3
12: aload 3
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
ifnull 18
13: aload 6
aload 3
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifeq 16
14: aload 3
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
15: goto 30
16: StackMap locals:
StackMap stack:
aconst_null
astore 3
17: goto 30
18: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.security.cert.TrustAnchor.getCAName:()Ljava/lang/String;
ifnull 29
19: aload 3
invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
ifnull 29
20: aload 3
invokevirtual java.security.cert.TrustAnchor.getCA:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
astore 9
start local 9 21: aload 7
aload 9
invokevirtual org.bouncycastle.asn1.x500.X500Name.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 3
invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
astore 4
23: goto 30
24: StackMap locals: org.bouncycastle.asn1.x500.X500Name
StackMap stack:
aconst_null
astore 3
end local 9 25: goto 30
26: StackMap locals: java.security.cert.X509Certificate java.util.Set java.lang.String java.security.cert.TrustAnchor java.security.PublicKey java.lang.Exception java.security.cert.X509CertSelector org.bouncycastle.asn1.x500.X500Name java.util.Iterator
StackMap stack: java.lang.IllegalArgumentException
pop
27: aconst_null
astore 3
28: goto 30
29: StackMap locals:
StackMap stack:
aconst_null
astore 3
30: StackMap locals:
StackMap stack:
aload 4
ifnull 37
31: aload 0
aload 4
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.verifyX509Certificate:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/lang/String;)V
32: goto 37
33: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 34: aload 9
astore 5
35: aconst_null
astore 3
36: aconst_null
astore 4
end local 9 37: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 38
aload 3
ifnull 11
38: StackMap locals:
StackMap stack:
aload 3
ifnonnull 40
aload 5
ifnull 40
39: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
ldc "TrustAnchor found but certificate validation failed."
aload 5
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
40: StackMap locals:
StackMap stack:
aload 3
areturn
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 41 0 cert Ljava/security/cert/X509Certificate;
0 41 1 trustAnchors Ljava/util/Set;
0 41 2 sigProvider Ljava/lang/String;
1 41 3 trust Ljava/security/cert/TrustAnchor;
2 41 4 trustPublicKey Ljava/security/PublicKey;
3 41 5 invalidKeyEx Ljava/lang/Exception;
4 41 6 certSelectX509 Ljava/security/cert/X509CertSelector;
5 41 7 certIssuer Lorg/bouncycastle/asn1/x500/X500Name;
8 9 8 ex Ljava/io/IOException;
10 41 8 iter Ljava/util/Iterator;
21 25 9 caName Lorg/bouncycastle/asn1/x500/X500Name;
34 37 9 ex Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.io.IOException
20 25 26 Class java.lang.IllegalArgumentException
31 32 33 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
cert
trustAnchors
sigProvider
static boolean isIssuerTrustAnchor(java.security.cert.X509Certificate, java.util.Set, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Set;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findTrustAnchor:(Ljava/security/cert/X509Certificate;Ljava/util/Set;Ljava/lang/String;)Ljava/security/cert/TrustAnchor;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
2: ireturn
3: StackMap locals:
StackMap stack: java.lang.Exception
pop
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cert Ljava/security/cert/X509Certificate;
0 5 1 trustAnchors Ljava/util/Set;
0 5 2 sigProvider Ljava/lang/String;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
cert
trustAnchors
sigProvider
static java.util.List<org.bouncycastle.jcajce.PKIXCertStore> getAdditionalStoresFromAltNames(byte[], java.util.Map<org.bouncycastle.asn1.x509.GeneralName, org.bouncycastle.jcajce.PKIXCertStore>);
descriptor: ([BLjava/util/Map;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
ifnull 13
1: aload 0
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
astore 2
start local 2 2: aload 2
invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
astore 3
start local 3 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 11
6: StackMap locals: byte[] java.util.Map org.bouncycastle.asn1.x509.GeneralNames org.bouncycastle.asn1.x509.GeneralName[] java.util.List int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 7: aload 1
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.jcajce.PKIXCertStore
astore 7
start local 7 8: aload 7
ifnull 10
9: aload 4
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 3
arraylength
if_icmpne 6
end local 5 12: aload 4
areturn
end local 4 end local 3 end local 2 13: StackMap locals: byte[] java.util.Map
StackMap stack:
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 issuerAlternativeName [B
0 14 1 altNameCertStoreMap Ljava/util/Map<Lorg/bouncycastle/asn1/x509/GeneralName;Lorg/bouncycastle/jcajce/PKIXCertStore;>;
2 13 2 issuerAltName Lorg/bouncycastle/asn1/x509/GeneralNames;
3 13 3 names [Lorg/bouncycastle/asn1/x509/GeneralName;
4 13 4 stores Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCertStore;>;
5 12 5 i I
7 10 6 altName Lorg/bouncycastle/asn1/x509/GeneralName;
8 10 7 altStore Lorg/bouncycastle/jcajce/PKIXCertStore;
Exceptions:
throws java.security.cert.CertificateParsingException
Signature: ([BLjava/util/Map<Lorg/bouncycastle/asn1/x509/GeneralName;Lorg/bouncycastle/jcajce/PKIXCertStore;>;)Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCertStore;>;
MethodParameters:
Name Flags
issuerAlternativeName
altNameCertStoreMap
protected static java.util.Date getValidDate(org.bouncycastle.jcajce.PKIXExtendedParameters);
descriptor: (Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)Ljava/util/Date;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getDate:()Ljava/util/Date;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 1
3: StackMap locals: java.util.Date
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 paramsPKIX Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
1 4 1 validDate Ljava/util/Date;
MethodParameters:
Name Flags
paramsPKIX
protected static boolean isSelfIssued(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
cert
protected static org.bouncycastle.asn1.ASN1Primitive getExtensionValue(java.security.cert.X509Extension, org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.security.cert.X509Extension.getExtensionValue:(Ljava/lang/String;)[B
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: byte[]
StackMap stack:
aload 1
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getObject:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)Lorg/bouncycastle/asn1/ASN1Primitive;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ext Ljava/security/cert/X509Extension;
0 4 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1 4 2 bytes [B
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
ext
oid
private static org.bouncycastle.asn1.ASN1Primitive getObject(org.bouncycastle.asn1.ASN1ObjectIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)Lorg/bouncycastle/asn1/ASN1Primitive;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
new java.lang.StringBuilder
dup
ldc "exception processing extension "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 4 1 ext [B
3 4 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
oid
ext
protected static org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 0
invokeinterface java.security.PublicKey.getEncoded:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 1
start local 1 1: aload 1
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
astore 2
start local 2 2: aload 2
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
3: areturn
end local 2 end local 1 4: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 5: new java.security.cert.CertPathValidatorException
dup
ldc "subject public key cannot be decoded"
aload 1
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/security/PublicKey;
1 4 1 aIn Lorg/bouncycastle/asn1/ASN1InputStream;
2 4 2 info Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
5 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
key
protected static java.util.Collection findCertificates(org.bouncycastle.jcajce.PKIXCertStoreSelector, java.util.List);
descriptor: (Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 20
3: StackMap locals: java.util.Set java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 4: aload 4
instanceof org.bouncycastle.util.Store
ifeq 12
5: aload 4
checkcast org.bouncycastle.util.Store
astore 5
start local 5 6: aload 2
aload 5
aload 0
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: goto 20
8: StackMap locals: org.bouncycastle.jcajce.PKIXCertStoreSelector java.util.List java.util.Set java.util.Iterator java.lang.Object org.bouncycastle.util.Store
StackMap stack: org.bouncycastle.util.StoreException
astore 6
start local 6 9: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
10: ldc "Problem while picking certificates from X.509 store."
aload 6
11: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 4
checkcast java.security.cert.CertStore
astore 5
start local 5 13: aload 2
aload 0
aload 5
invokestatic org.bouncycastle.jcajce.PKIXCertStoreSelector.getCertificates:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/security/cert/CertStore;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
14: goto 20
15: StackMap locals: org.bouncycastle.jcajce.PKIXCertStoreSelector java.util.List java.util.Set java.util.Iterator java.lang.Object java.security.cert.CertStore
StackMap stack: java.security.cert.CertStoreException
astore 6
start local 6 16: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
17: ldc "Problem while picking certificates from certificate store."
18: aload 6
19: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
21: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 certSelect Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
0 22 1 certStores Ljava/util/List;
1 22 2 certs Ljava/util/Set;
2 22 3 iter Ljava/util/Iterator;
4 20 4 obj Ljava/lang/Object;
6 12 5 certStore Lorg/bouncycastle/util/Store;
9 12 6 e Lorg/bouncycastle/util/StoreException;
13 20 5 certStore Ljava/security/cert/CertStore;
16 20 6 e Ljava/security/cert/CertStoreException;
Exception table:
from to target type
6 7 8 Class org.bouncycastle.util.StoreException
13 14 15 Class java.security.cert.CertStoreException
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
certSelect
certStores
static java.util.List<org.bouncycastle.jcajce.PKIXCRLStore> getAdditionalStoresFromCRLDistributionPoint(org.bouncycastle.asn1.x509.CRLDistPoint, java.util.Map<org.bouncycastle.asn1.x509.GeneralName, org.bouncycastle.jcajce.PKIXCRLStore>);
descriptor: (Lorg/bouncycastle/asn1/x509/CRLDistPoint;Ljava/util/Map;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ifnull 28
1: aconst_null
astore 2
start local 2 2: aload 0
invokevirtual org.bouncycastle.asn1.x509.CRLDistPoint.getDistributionPoints:()[Lorg/bouncycastle/asn1/x509/DistributionPoint;
astore 2
3: goto 8
4: StackMap locals: org.bouncycastle.asn1.x509.CRLDistPoint java.util.Map org.bouncycastle.asn1.x509.DistributionPoint[]
StackMap stack: java.lang.Exception
astore 3
start local 3 5: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
6: ldc "Distribution points could not be read."
aload 3
7: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 26
11: StackMap locals: java.util.List int
StackMap stack:
aload 2
iload 4
aaload
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
astore 5
start local 5 12: aload 5
ifnull 25
13: aload 5
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
ifne 25
14: aload 5
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
15: invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
16: invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
17: astore 6
start local 6 18: iconst_0
istore 7
start local 7 19: goto 24
20: StackMap locals: org.bouncycastle.asn1.x509.DistributionPointName org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 1
aload 6
iload 7
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.jcajce.PKIXCRLStore
astore 8
start local 8 21: aload 8
ifnull 23
22: aload 3
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 23: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
aload 6
arraylength
if_icmplt 20
end local 7 end local 6 end local 5 25: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
26: iload 4
aload 2
arraylength
if_icmplt 11
end local 4 27: aload 3
areturn
end local 3 end local 2 28: StackMap locals:
StackMap stack:
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 crldp Lorg/bouncycastle/asn1/x509/CRLDistPoint;
0 29 1 namedCRLStoreMap Ljava/util/Map<Lorg/bouncycastle/asn1/x509/GeneralName;Lorg/bouncycastle/jcajce/PKIXCRLStore;>;
2 28 2 dps [Lorg/bouncycastle/asn1/x509/DistributionPoint;
5 8 3 e Ljava/lang/Exception;
9 28 3 stores Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCRLStore;>;
10 27 4 i I
12 25 5 dpn Lorg/bouncycastle/asn1/x509/DistributionPointName;
18 25 6 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
19 25 7 j I
21 23 8 store Lorg/bouncycastle/jcajce/PKIXCRLStore;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
Signature: (Lorg/bouncycastle/asn1/x509/CRLDistPoint;Ljava/util/Map<Lorg/bouncycastle/asn1/x509/GeneralName;Lorg/bouncycastle/jcajce/PKIXCRLStore;>;)Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCRLStore;>;
MethodParameters:
Name Flags
crldp
namedCRLStoreMap
protected static void getCRLIssuersFromDistributionPoint(org.bouncycastle.asn1.x509.DistributionPoint, java.util.Collection, java.security.cert.X509CRLSelector);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/util/Collection;Ljava/security/cert/X509CRLSelector;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
ifnull 18
2: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 16
5: StackMap locals: java.util.List org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 4
iload 5
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
iconst_4
if_icmpne 15
6: aload 3
aload 4
iload 5
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
7: invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
8: invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 15
10: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 11: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
12: ldc "CRL issuer information from distribution point cannot be decoded."
13: aload 6
14: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 15: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 4
arraylength
if_icmplt 5
end local 5 end local 4 17: goto 26
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
ifnonnull 22
19: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
20: ldc "CRL issuer is omitted from distribution point but no distributionPoint field present."
21: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
start local 4 23: goto 25
24: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
end local 4 26: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 27: goto 34
28: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.x500.X500Name
invokevirtual org.bouncycastle.asn1.x500.X500Name.getEncoded:()[B
invokevirtual java.security.cert.X509CRLSelector.addIssuerName:([B)V
29: goto 34
30: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 31: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
32: ldc "Cannot decode CRL issuer information."
aload 5
33: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 34: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
35: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 36 1 issuerPrincipals Ljava/util/Collection;
0 36 2 selector Ljava/security/cert/X509CRLSelector;
1 36 3 issuers Ljava/util/List;
3 17 4 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
4 17 5 j I
11 15 6 e Ljava/io/IOException;
23 26 4 it Ljava/util/Iterator;
27 36 4 it Ljava/util/Iterator;
31 34 5 ex Ljava/io/IOException;
Exception table:
from to target type
6 9 10 Class java.io.IOException
28 29 30 Class java.io.IOException
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
dp
issuerPrincipals
selector
private static java.math.BigInteger getSerialNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/math/BigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cert Ljava/lang/Object;
MethodParameters:
Name Flags
cert
protected static void getCertStatus(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.pkix.jcajce.CertStatus);
descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.isIndirectCRL:(Ljava/security/cert/X509CRL;)Z
istore 5
start local 5 2: goto 5
end local 5 3: StackMap locals: java.util.Date java.security.cert.X509CRL java.lang.Object org.bouncycastle.pkix.jcajce.CertStatus java.security.cert.X509CRLEntry
StackMap stack: java.security.cert.CRLException
astore 6
start local 6 4: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
ldc "Failed check for indirect CRL."
aload 6
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 start local 5 5: StackMap locals: int
StackMap stack:
iload 5
ifeq 16
6: aload 1
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getSerialNumber:(Ljava/lang/Object;)Ljava/math/BigInteger;
invokevirtual java.security.cert.X509CRL.getRevokedCertificate:(Ljava/math/BigInteger;)Ljava/security/cert/X509CRLEntry;
astore 4
7: aload 4
ifnonnull 9
8: return
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.security.cert.X509CRLEntry.getCertificateIssuer:()Ljavax/security/auth/x500/X500Principal;
astore 6
start local 6 10: aload 6
ifnonnull 13
11: aload 1
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
astore 7
start local 7 12: goto 14
end local 7 13: StackMap locals: javax.security.auth.x500.X500Principal
StackMap stack:
aload 6
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
astore 7
start local 7 14: StackMap locals: org.bouncycastle.asn1.x500.X500Name
StackMap stack:
aload 2
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
aload 7
invokevirtual org.bouncycastle.asn1.x500.X500Name.equals:(Ljava/lang/Object;)Z
ifne 21
15: return
end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
aload 1
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
invokevirtual org.bouncycastle.asn1.x500.X500Name.equals:(Ljava/lang/Object;)Z
ifne 18
17: return
18: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getSerialNumber:(Ljava/lang/Object;)Ljava/math/BigInteger;
invokevirtual java.security.cert.X509CRL.getRevokedCertificate:(Ljava/math/BigInteger;)Ljava/security/cert/X509CRLEntry;
astore 4
19: aload 4
ifnonnull 21
20: return
21: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 22: aload 4
invokevirtual java.security.cert.X509CRLEntry.hasExtensions:()Z
ifeq 34
23: aload 4
24: getstatic org.bouncycastle.asn1.x509.Extension.reasonCode:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
25: invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
26: invokestatic org.bouncycastle.asn1.ASN1Enumerated.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Enumerated;
27: astore 6
28: goto 34
29: StackMap locals: java.util.Date java.security.cert.X509CRL java.lang.Object org.bouncycastle.pkix.jcajce.CertStatus java.security.cert.X509CRLEntry int org.bouncycastle.asn1.ASN1Enumerated
StackMap stack: java.lang.Exception
astore 7
start local 7 30: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
31: ldc "Reason code CRL entry extension could not be decoded."
32: aload 7
33: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 34: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Date.getTime:()J
aload 4
invokevirtual java.security.cert.X509CRLEntry.getRevocationDate:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifge 40
35: aload 6
ifnull 40
36: aload 6
invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ifeq 40
37: aload 6
invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
iconst_1
if_icmpeq 40
38: aload 6
invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
iconst_2
if_icmpeq 40
39: aload 6
invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
bipush 8
if_icmpne 45
40: StackMap locals:
StackMap stack:
aload 6
ifnull 43
41: aload 3
aload 6
invokevirtual org.bouncycastle.asn1.ASN1Enumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.setCertStatus:(I)V
42: goto 44
43: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.setCertStatus:(I)V
44: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual java.security.cert.X509CRLEntry.getRevocationDate:()Ljava/util/Date;
invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.setRevocationDate:(Ljava/util/Date;)V
45: StackMap locals:
StackMap stack:
return
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 46 0 validDate Ljava/util/Date;
0 46 1 crl Ljava/security/cert/X509CRL;
0 46 2 cert Ljava/lang/Object;
0 46 3 certStatus Lorg/bouncycastle/pkix/jcajce/CertStatus;
1 46 4 crl_entry Ljava/security/cert/X509CRLEntry;
2 3 5 isIndirect Z
5 46 5 isIndirect Z
4 5 6 exception Ljava/security/cert/CRLException;
10 16 6 certificateIssuer Ljavax/security/auth/x500/X500Principal;
12 13 7 certIssuer Lorg/bouncycastle/asn1/x500/X500Name;
14 16 7 certIssuer Lorg/bouncycastle/asn1/x500/X500Name;
22 46 6 reasonCode Lorg/bouncycastle/asn1/ASN1Enumerated;
30 34 7 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.security.cert.CRLException
23 28 29 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
validDate
crl
cert
certStatus
protected static java.util.Set getDeltaCRLs(java.util.Date, java.security.cert.X509CRL, java.util.List<java.security.cert.CertStore>, java.util.List<org.bouncycastle.jcajce.PKIXCRLStore>);
descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.security.cert.X509CRLSelector
dup
invokespecial java.security.cert.X509CRLSelector.<init>:()V
astore 4
start local 4 1: aload 4
aload 1
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
invokevirtual org.bouncycastle.asn1.x500.X500Name.getEncoded:()[B
invokevirtual java.security.cert.X509CRLSelector.addIssuerName:([B)V
2: goto 5
3: StackMap locals: java.util.Date java.security.cert.X509CRL java.util.List java.util.List java.security.cert.X509CRLSelector
StackMap stack: java.io.IOException
astore 5
start local 5 4: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
ldc "cannot extract issuer from CRL."
aload 5
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 5: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 6: aload 1
7: getstatic org.bouncycastle.asn1.x509.Extension.cRLNumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
8: invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
astore 6
start local 6 9: aload 6
ifnull 16
10: aload 6
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getPositiveValue:()Ljava/math/BigInteger;
astore 5
end local 6 11: goto 16
12: StackMap locals: java.util.Date java.security.cert.X509CRL java.util.List java.util.List java.security.cert.X509CRLSelector java.math.BigInteger
StackMap stack: java.lang.Exception
astore 6
start local 6 13: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
14: ldc "cannot extract CRL number extension from CRL"
aload 6
15: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 16: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 17: aload 1
getstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
invokevirtual java.security.cert.X509CRL.getExtensionValue:(Ljava/lang/String;)[B
astore 6
18: goto 24
19: StackMap locals: java.util.Date java.security.cert.X509CRL java.util.List java.util.List java.security.cert.X509CRLSelector java.math.BigInteger byte[]
StackMap stack: java.lang.Exception
astore 7
start local 7 20: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
21: ldc "issuing distribution point extension value could not be read"
22: aload 7
23: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 24: StackMap locals:
StackMap stack:
aload 4
aload 5
ifnonnull 25
aconst_null
goto 27
StackMap locals:
StackMap stack: java.security.cert.X509CRLSelector
25: aload 5
26: lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
27: StackMap locals: java.util.Date java.security.cert.X509CRL java.util.List java.util.List java.security.cert.X509CRLSelector java.math.BigInteger byte[]
StackMap stack: java.security.cert.X509CRLSelector java.math.BigInteger
invokevirtual java.security.cert.X509CRLSelector.setMinCRLNumber:(Ljava/math/BigInteger;)V
28: new org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder
dup
aload 4
invokespecial org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.<init>:(Ljava/security/cert/CRLSelector;)V
astore 7
start local 7 29: aload 7
aload 6
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.setIssuingDistributionPoint:([B)V
30: aload 7
iconst_1
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.setIssuingDistributionPointEnabled:(Z)V
31: aload 7
aload 5
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.setMaxBaseCRLNumber:(Ljava/math/BigInteger;)V
32: aload 7
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
astore 8
start local 8 33: getstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CRL_UTIL:Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
aload 8
aload 0
aload 2
aload 3
invokevirtual org.bouncycastle.pkix.jcajce.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;Ljava/util/Date;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
astore 9
start local 9 34: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 10
start local 10 35: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
start local 11 36: goto 40
37: StackMap locals: java.util.Date java.security.cert.X509CRL java.util.List java.util.List java.security.cert.X509CRLSelector java.math.BigInteger byte[] org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder org.bouncycastle.jcajce.PKIXCRLStoreSelector java.util.Set java.util.Set java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 12
start local 12 38: aload 12
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.isDeltaCRL:(Ljava/security/cert/X509CRL;)Z
ifeq 40
39: aload 10
aload 12
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 12 40: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
end local 11 41: aload 10
areturn
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 42 0 validityDate Ljava/util/Date;
0 42 1 completeCRL Ljava/security/cert/X509CRL;
0 42 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 42 3 pkixCrlStores Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCRLStore;>;
1 42 4 baseDeltaSelect Ljava/security/cert/X509CRLSelector;
4 5 5 e Ljava/io/IOException;
6 42 5 completeCRLNumber Ljava/math/BigInteger;
9 11 6 derObject Lorg/bouncycastle/asn1/ASN1Primitive;
13 16 6 e Ljava/lang/Exception;
17 42 6 idp [B
20 24 7 e Ljava/lang/Exception;
29 42 7 selBuilder Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector$Builder;
33 42 8 deltaSelect Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
34 42 9 temp Ljava/util/Set;
35 42 10 result Ljava/util/Set;
36 41 11 it Ljava/util/Iterator;
38 40 12 crl Ljava/security/cert/X509CRL;
Exception table:
from to target type
1 2 3 Class java.io.IOException
6 11 12 Class java.lang.Exception
17 18 19 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
Signature: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCRLStore;>;)Ljava/util/Set;
MethodParameters:
Name Flags
validityDate
completeCRL
certStores
pkixCrlStores
private static boolean isDeltaCRL(java.security.cert.X509CRL);
descriptor: (Ljava/security/cert/X509CRL;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.util.Set
StackMap stack:
aload 1
getstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 crl Ljava/security/cert/X509CRL;
1 4 1 critical Ljava/util/Set;
MethodParameters:
Name Flags
crl
protected static java.util.Set getCompleteCRLs(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.util.Date, java.util.List, java.util.List);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.security.cert.X509CRLSelector
dup
invokespecial java.security.cert.X509CRLSelector.<init>:()V
astore 5
start local 5 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 2: aload 6
aload 1
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 6
aload 5
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getCRLIssuersFromDistributionPoint:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/util/Collection;Ljava/security/cert/X509CRLSelector;)V
end local 6 4: goto 9
5: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.util.Date java.util.List java.util.List java.security.cert.X509CRLSelector
StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
astore 6
start local 6 6: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
7: ldc "Could not get issuer information from distribution point."
aload 6
8: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 9: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.cert.X509Certificate
ifeq 11
10: aload 5
aload 1
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509CRLSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
11: StackMap locals:
StackMap stack:
new org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder
dup
aload 5
invokespecial org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.<init>:(Ljava/security/cert/CRLSelector;)V
iconst_1
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.setCompleteCRLEnabled:(Z)Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector$Builder;
invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
astore 6
start local 6 12: getstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.CRL_UTIL:Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
aload 6
aload 2
aload 3
aload 4
invokevirtual org.bouncycastle.pkix.jcajce.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;Ljava/util/Date;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
astore 7
start local 7 13: aload 7
aload 1
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.checkCRLsNotEmpty:(Ljava/util/Set;Ljava/lang/Object;)V
14: aload 7
areturn
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 15 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 15 1 cert Ljava/lang/Object;
0 15 2 validityDate Ljava/util/Date;
0 15 3 certStores Ljava/util/List;
0 15 4 crlStores Ljava/util/List;
1 15 5 baseCrlSelect Ljava/security/cert/X509CRLSelector;
2 4 6 issuers Ljava/util/Set;
6 9 6 e Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
12 15 6 crlSelect Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
13 15 7 crls Ljava/util/Set;
Exception table:
from to target type
1 4 5 Class org.bouncycastle.pkix.jcajce.AnnotatedException
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException, org.bouncycastle.pkix.jcajce.CRLNotFoundException
MethodParameters:
Name Flags
dp
cert
validityDate
certStores
crlStores
protected static java.util.Date getValidCertDateFromValidityModel(org.bouncycastle.jcajce.PKIXExtendedParameters, java.security.cert.CertPath, int);
descriptor: (Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getValidityModel:()I
iconst_1
if_icmpne 35
1: iload 2
ifgt 3
2: aload 0
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getValidDate:(Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)Ljava/util/Date;
areturn
3: StackMap locals:
StackMap stack:
iload 2
iconst_1
isub
ifne 30
4: aconst_null
astore 3
start local 3 5: aload 1
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
iload 2
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
getstatic org.bouncycastle.asn1.isismtt.ISISMTTObjectIdentifiers.id_isismtt_at_dateOfCertGen:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 4
start local 4 6: aload 4
ifnull 17
7: aload 4
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.ASN1GeneralizedTime.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1GeneralizedTime;
astore 3
end local 4 8: goto 17
9: StackMap locals: org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.CertPath int org.bouncycastle.asn1.ASN1GeneralizedTime
StackMap stack: java.io.IOException
pop
10: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
11: ldc "Date of cert gen extension could not be read."
12: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
14: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
15: ldc "Date of cert gen extension could not be read."
16: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 3
ifnull 25
18: aload 3
invokevirtual org.bouncycastle.asn1.ASN1GeneralizedTime.getDate:()Ljava/util/Date;
19: areturn
20: StackMap locals:
StackMap stack: java.text.ParseException
astore 4
start local 4 21: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
22: ldc "Date from date of cert gen extension could not be parsed."
23: aload 4
24: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 25: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
26: iload 2
iconst_1
isub
27: invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
28: invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
29: areturn
end local 3 30: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
31: iload 2
iconst_1
isub
32: invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
33: invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
34: areturn
35: StackMap locals:
StackMap stack:
aload 0
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getValidDate:(Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)Ljava/util/Date;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 paramsPKIX Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
0 36 1 certPath Ljava/security/cert/CertPath;
0 36 2 index I
5 30 3 dateOfCertgen Lorg/bouncycastle/asn1/ASN1GeneralizedTime;
6 8 4 extBytes [B
21 25 4 e Ljava/text/ParseException;
Exception table:
from to target type
5 8 9 Class java.io.IOException
5 8 13 Class java.lang.IllegalArgumentException
18 19 20 Class java.text.ParseException
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
MethodParameters:
Name Flags
paramsPKIX
certPath
index
protected static java.security.PublicKey getNextWorkingKey(java.util.List, int, org.bouncycastle.jcajce.util.JcaJceHelper);
descriptor: (Ljava/util/List;ILorg/bouncycastle/jcajce/util/JcaJceHelper;)Ljava/security/PublicKey;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 3
start local 3 1: aload 3
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
start local 4 2: aload 4
instanceof java.security.interfaces.DSAPublicKey
ifne 4
3: aload 4
areturn
4: StackMap locals: java.security.cert.Certificate java.security.PublicKey
StackMap stack:
aload 4
checkcast java.security.interfaces.DSAPublicKey
astore 5
start local 5 5: aload 5
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
ifnull 7
6: aload 5
areturn
7: StackMap locals: java.security.interfaces.DSAPublicKey
StackMap stack:
iload 1
iconst_1
iadd
istore 6
start local 6 8: goto 28
9: StackMap locals: int
StackMap stack:
aload 0
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 7
start local 7 10: aload 7
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
11: aload 4
instanceof java.security.interfaces.DSAPublicKey
ifne 15
12: new java.security.cert.CertPathValidatorException
dup
13: ldc "DSA parameters cannot be inherited from previous certificate."
14: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 4
checkcast java.security.interfaces.DSAPublicKey
astore 8
start local 8 16: aload 8
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
ifnonnull 18
17: goto 27
18: StackMap locals: java.security.interfaces.DSAPublicKey
StackMap stack:
aload 8
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
astore 9
start local 9 19: new java.security.spec.DSAPublicKeySpec
dup
20: aload 5
invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
aload 9
invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
aload 9
invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
aload 9
invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
21: invokespecial java.security.spec.DSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 10
start local 10 22: aload 2
ldc "DSA"
invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createKeyFactory:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 11
start local 11 23: aload 11
aload 10
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
24: areturn
end local 11 25: StackMap locals: java.util.List int org.bouncycastle.jcajce.util.JcaJceHelper java.security.cert.Certificate java.security.PublicKey java.security.interfaces.DSAPublicKey int java.security.cert.X509Certificate java.security.interfaces.DSAPublicKey java.security.interfaces.DSAParams java.security.spec.DSAPublicKeySpec
StackMap stack: java.lang.Exception
astore 11
start local 11 26: new java.lang.RuntimeException
dup
aload 11
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 27: StackMap locals: java.util.List int org.bouncycastle.jcajce.util.JcaJceHelper java.security.cert.Certificate java.security.PublicKey java.security.interfaces.DSAPublicKey int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 9
end local 6 29: new java.security.cert.CertPathValidatorException
dup
ldc "DSA parameters cannot be inherited from previous certificate."
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
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 30 0 certs Ljava/util/List;
0 30 1 index I
0 30 2 helper Lorg/bouncycastle/jcajce/util/JcaJceHelper;
1 30 3 cert Ljava/security/cert/Certificate;
2 30 4 pubKey Ljava/security/PublicKey;
5 30 5 dsaPubKey Ljava/security/interfaces/DSAPublicKey;
8 29 6 i I
10 27 7 parentCert Ljava/security/cert/X509Certificate;
16 27 8 prevDSAPubKey Ljava/security/interfaces/DSAPublicKey;
19 27 9 dsaParams Ljava/security/interfaces/DSAParams;
22 27 10 dsaPubKeySpec Ljava/security/spec/DSAPublicKeySpec;
23 25 11 keyFactory Ljava/security/KeyFactory;
26 27 11 exception Ljava/lang/Exception;
Exception table:
from to target type
22 24 25 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certs
index
helper
static java.util.Collection findIssuerCerts(java.security.cert.X509Certificate, java.util.List<java.security.cert.CertStore>, java.util.List<org.bouncycastle.jcajce.PKIXCertStore>);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/util/List;)Ljava/util/Collection;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokevirtual java.security.cert.X509CertSelector.setSubject:([B)V
2: goto 7
3: StackMap locals: java.security.cert.X509Certificate java.util.List java.util.List java.security.cert.X509CertSelector
StackMap stack: java.io.IOException
astore 4
start local 4 4: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
5: ldc "Subject criteria for certificate selector to find issuer certificate could not be set."
aload 4
6: invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
aload 0
getstatic org.bouncycastle.pkix.jcajce.RevocationUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 4
start local 4 8: aload 4
ifnull 15
9: aload 4
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
astore 5
start local 5 10: aload 5
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AuthorityKeyIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.getKeyIdentifier:()[B
astore 6
start local 6 11: aload 6
ifnull 15
12: aload 3
new org.bouncycastle.asn1.DEROctetString
dup
aload 6
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokevirtual org.bouncycastle.asn1.DEROctetString.getEncoded:()[B
invokevirtual java.security.cert.X509CertSelector.setSubjectKeyIdentifier:([B)V
end local 6 end local 5 end local 4 13: goto 15
14: StackMap locals:
StackMap stack: java.lang.Exception
pop
15: StackMap locals:
StackMap stack:
new org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder
dup
aload 3
invokespecial org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.<init>:(Ljava/security/cert/CertSelector;)V
invokevirtual org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
astore 4
start local 4 16: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 5
start local 5 17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 18: aload 7
aload 4
aload 1
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findCertificates:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
19: aload 7
aload 4
aload 2
invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findCertificates:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
20: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
end local 7 start local 6 21: goto 24
end local 6 22: StackMap locals: java.security.cert.X509Certificate java.util.List java.util.List java.security.cert.X509CertSelector org.bouncycastle.jcajce.PKIXCertStoreSelector java.util.Set
StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
astore 7
start local 7 23: new org.bouncycastle.pkix.jcajce.AnnotatedException
dup
ldc "Issuer certificate cannot be searched."
aload 7
invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 start local 6 24: StackMap locals: java.util.Iterator
StackMap stack:
aconst_null
astore 7
start local 7 25: goto 28
26: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 7
27: aload 5
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
29: aload 5
areturn
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 30 0 cert Ljava/security/cert/X509Certificate;
0 30 1 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 30 2 pkixCertStores Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCertStore;>;
1 30 3 selector Ljava/security/cert/X509CertSelector;
4 7 4 e Ljava/io/IOException;
8 13 4 akiExtensionValue [B
10 13 5 aki Lorg/bouncycastle/asn1/ASN1OctetString;
11 13 6 authorityKeyIdentifier [B
16 30 4 certSelect Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
17 30 5 certs Ljava/util/Set;
21 22 6 iter Ljava/util/Iterator;
24 30 6 iter Ljava/util/Iterator;
18 21 7 matches Ljava/util/List;
23 24 7 e Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
25 30 7 issuer Ljava/security/cert/X509Certificate;
Exception table:
from to target type
1 2 3 Class java.io.IOException
7 13 14 Class java.lang.Exception
17 21 22 Class org.bouncycastle.pkix.jcajce.AnnotatedException
Exceptions:
throws org.bouncycastle.pkix.jcajce.AnnotatedException
Signature: (Ljava/security/cert/X509Certificate;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/List<Lorg/bouncycastle/jcajce/PKIXCertStore;>;)Ljava/util/Collection;
MethodParameters:
Name Flags
cert
certStores
pkixCertStores
protected static void verifyX509Certificate(java.security.cert.X509Certificate, java.security.PublicKey, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 3
1: aload 0
aload 1
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cert Ljava/security/cert/X509Certificate;
0 5 1 publicKey Ljava/security/PublicKey;
0 5 2 sigProvider Ljava/lang/String;
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
cert
publicKey
sigProvider
static void checkCRLsNotEmpty(java.util.Set, java.lang.Object);
descriptor: (Ljava/util/Set;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Set.isEmpty:()Z
ifeq 3
1: aload 1
checkcast java.security.cert.X509Certificate
astore 2
start local 2 2: new org.bouncycastle.pkix.jcajce.CRLNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "No CRLs found for issuer \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.bouncycastle.asn1.x500.style.RFC4519Style.INSTANCE:Lorg/bouncycastle/asn1/x500/X500NameStyle;
aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
invokeinterface org.bouncycastle.asn1.x500.X500NameStyle.toString:(Lorg/bouncycastle/asn1/x500/X500Name;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.bouncycastle.pkix.jcajce.CRLNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 2 3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 crls Ljava/util/Set;
0 4 1 cert Ljava/lang/Object;
2 3 2 xCert Ljava/security/cert/X509Certificate;
Exceptions:
throws org.bouncycastle.pkix.jcajce.CRLNotFoundException
MethodParameters:
Name Flags
crls
cert
public static boolean isIndirectCRL(java.security.cert.X509CRL);
descriptor: (Ljava/security/cert/X509CRL;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.security.cert.X509CRL.getExtensionValue:(Ljava/lang/String;)[B
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.isIndirectCRL:()Z
ifeq 4
3: iconst_1
ireturn
StackMap locals: byte[]
StackMap stack:
4: iconst_0
5: ireturn
end local 1 6: StackMap locals: java.security.cert.X509CRL
StackMap stack: java.lang.Exception
astore 1
start local 1 7: new java.security.cert.CRLException
dup
8: ldc "exception reading IssuingDistributionPoint"
aload 1
9: invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 crl Ljava/security/cert/X509CRL;
1 6 1 idp [B
7 10 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
Exceptions:
throws java.security.cert.CRLException
MethodParameters:
Name Flags
crl
}
SourceFile: "RevocationUtilities.java"
InnerClasses:
public Builder = org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder of org.bouncycastle.jcajce.PKIXCRLStoreSelector
public Builder = org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder of org.bouncycastle.jcajce.PKIXCertStoreSelector