public class org.bouncycastle.jce.provider.CertPathValidatorUtilities
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.CertPathValidatorUtilities
super_class: java.lang.Object
{
protected static final org.bouncycastle.jce.provider.PKIXCRLUtil CRL_UTIL;
descriptor: Lorg/bouncycastle/jce/provider/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.jce.provider.PKIXCRLUtil
dup
invokespecial org.bouncycastle.jce.provider.PKIXCRLUtil.<init>:()V
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
1: getstatic org.bouncycastle.asn1.x509.X509Extensions.CertificatePolicies:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
2: getstatic org.bouncycastle.asn1.x509.X509Extensions.BasicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
3: getstatic org.bouncycastle.asn1.x509.X509Extensions.PolicyMappings:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.POLICY_MAPPINGS:Ljava/lang/String;
4: getstatic org.bouncycastle.asn1.x509.X509Extensions.SubjectAlternativeName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
5: getstatic org.bouncycastle.asn1.x509.X509Extensions.NameConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
6: getstatic org.bouncycastle.asn1.x509.X509Extensions.KeyUsage:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.KEY_USAGE:Ljava/lang/String;
7: getstatic org.bouncycastle.asn1.x509.X509Extensions.InhibitAnyPolicy:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
8: getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
9: getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
10: getstatic org.bouncycastle.asn1.x509.X509Extensions.PolicyConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
11: getstatic org.bouncycastle.asn1.x509.X509Extensions.FreshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.FRESHEST_CRL:Ljava/lang/String;
12: getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLDistributionPoints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
13: getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
14: getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLNumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
putstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.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.jce.provider.CertPathValidatorUtilities.crlReasons:[Ljava/lang/String;
28: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/CertPathValidatorUtilities;
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.jce.provider.CertPathValidatorUtilities.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.jce.provider.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
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
astore 7
start local 7 5: aload 6
aload 7
invokevirtual javax.security.auth.x500.X500Principal.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 javax.security.auth.x500.X500Principal
StackMap stack: java.io.IOException
astore 8
start local 8 8: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Cannot set subject search criteria for trust anchor."
aload 8
invokespecial org.bouncycastle.jce.provider.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 36
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: new javax.security.auth.x500.X500Principal
dup
aload 3
invokevirtual java.security.cert.TrustAnchor.getCAName:()Ljava/lang/String;
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
astore 9
start local 9 21: aload 7
aload 9
invokevirtual javax.security.auth.x500.X500Principal.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: javax.security.auth.x500.X500Principal
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 javax.security.auth.x500.X500Principal 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 36
31: aload 0
aload 4
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.verifyX509Certificate:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/lang/String;)V
32: goto 36
33: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 34: aload 9
astore 5
35: aconst_null
astore 3
end local 9 36: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 37
aload 3
ifnull 11
37: StackMap locals:
StackMap stack:
aload 3
ifnonnull 39
aload 5
ifnull 39
38: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "TrustAnchor found but certificate validation failed."
aload 5
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
39: 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 40 0 cert Ljava/security/cert/X509Certificate;
0 40 1 trustAnchors Ljava/util/Set;
0 40 2 sigProvider Ljava/lang/String;
1 40 3 trust Ljava/security/cert/TrustAnchor;
2 40 4 trustPublicKey Ljava/security/PublicKey;
3 40 5 invalidKeyEx Ljava/lang/Exception;
4 40 6 certSelectX509 Ljava/security/cert/X509CertSelector;
5 40 7 certIssuer Ljavax/security/auth/x500/X500Principal;
8 9 8 ex Ljava/io/IOException;
10 40 8 iter Ljava/util/Iterator;
21 25 9 caName Ljavax/security/auth/x500/X500Principal;
34 36 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.jce.provider.AnnotatedException
MethodParameters:
Name Flags
cert
trustAnchors
sigProvider
protected static void addAdditionalStoresFromAltNames(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=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerAlternativeNames:()Ljava/util/Collection;
ifnull 8
1: aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerAlternativeNames:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 7
3: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 4: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
new java.lang.Integer
dup
bipush 6
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 3
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoreFromLocation:(Ljava/lang/String;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 cert Ljava/security/cert/X509Certificate;
0 9 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
2 8 2 it Ljava/util/Iterator;
4 7 3 list Ljava/util/List;
6 7 4 temp Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateParsingException
MethodParameters:
Name Flags
cert
pkixParams
protected static javax.security.auth.x500.X500Principal getEncodedIssuerPrincipal(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.security.cert.X509Certificate
ifeq 2
1: aload 0
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
areturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.x509.X509AttributeCertificate
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
iconst_0
aaload
checkcast javax.security.auth.x500.X500Principal
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cert Ljava/lang/Object;
MethodParameters:
Name Flags
cert
protected static java.util.Date getValidDate(java.security.cert.PKIXParameters);
descriptor: (Ljava/security/cert/PKIXParameters;)Ljava/util/Date;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.security.cert.PKIXParameters.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 Ljava/security/cert/PKIXParameters;
1 4 1 validDate Ljava/util/Date;
MethodParameters:
Name Flags
paramsPKIX
protected static javax.security.auth.x500.X500Principal getSubjectPrincipal(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
cert
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.DERObject getExtensionValue(java.security.cert.X509Extension, java.lang.String);
descriptor: (Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
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
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.jce.provider.CertPathValidatorUtilities.getObject:(Ljava/lang/String;[B)Lorg/bouncycastle/asn1/DERObject;
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 Ljava/lang/String;
1 4 2 bytes [B
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
ext
oid
private static org.bouncycastle.asn1.DERObject getObject(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Lorg/bouncycastle/asn1/DERObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 2
start local 2 1: aload 2
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 3
start local 3 2: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 3
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 2
3: aload 2
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
4: areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 6: new org.bouncycastle.jce.provider.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/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial org.bouncycastle.jce.provider.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 7 0 oid Ljava/lang/String;
0 7 1 ext [B
1 5 2 aIn Lorg/bouncycastle/asn1/ASN1InputStream;
2 5 3 octs Lorg/bouncycastle/asn1/ASN1OctetString;
6 7 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 4 5 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
oid
ext
protected static javax.security.auth.x500.X500Principal getIssuerPrincipal(java.security.cert.X509CRL);
descriptor: (Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 crl Ljava/security/cert/X509CRL;
MethodParameters:
Name Flags
crl
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/DERObject;
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.getAlgorithmId:()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 org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Subject public key cannot be decoded."
aload 1
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<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 final java.util.Set getQualifierSet(org.bouncycastle.asn1.ASN1Sequence);
descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
ifnonnull 3
2: aload 1
areturn
3: StackMap locals: java.util.Set
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 4: new org.bouncycastle.asn1.ASN1OutputStream
dup
aload 2
invokespecial org.bouncycastle.asn1.ASN1OutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 5: aload 0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 4
start local 4 6: goto 13
7: StackMap locals: java.io.ByteArrayOutputStream org.bouncycastle.asn1.ASN1OutputStream java.util.Enumeration
StackMap stack:
aload 3
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeObject:(Ljava/lang/Object;)V
8: aload 1
new java.security.cert.PolicyQualifierInfo
dup
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.security.cert.PolicyQualifierInfo.<init>:([B)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: goto 12
10: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 11: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy qualifier info cannot be decoded."
aload 5
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 12: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.reset:()V
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
14: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 qualifiers Lorg/bouncycastle/asn1/ASN1Sequence;
1 15 1 pq Ljava/util/Set;
4 15 2 bOut Ljava/io/ByteArrayOutputStream;
5 15 3 aOut Lorg/bouncycastle/asn1/ASN1OutputStream;
6 15 4 e Ljava/util/Enumeration;
11 12 5 ex Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
qualifiers
protected static org.bouncycastle.jce.provider.PKIXPolicyNode removePolicyNode(org.bouncycastle.jce.provider.PKIXPolicyNode, java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode);
descriptor: (Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
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 2
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 3
start local 3 1: aload 0
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode
StackMap stack:
aload 3
ifnonnull 10
4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 1
iload 4
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
arraylength
if_icmplt 6
end local 4 9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.removeChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
11: aload 1
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNodeRecurse:([Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
12: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
0 13 1 policyNodes [Ljava/util/List;
0 13 2 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
1 13 3 _parent Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
5 9 4 j I
MethodParameters:
Name Flags
validPolicyTree
policyNodes
_node
private static void removePolicyNodeRecurse(java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode);
descriptor: ([Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getDepth:()I
aaload
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 1
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifeq 7
2: aload 1
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
astore 2
start local 2 3: goto 6
4: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 3
start local 3 5: aload 0
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNodeRecurse:([Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 policyNodes [Ljava/util/List;
0 8 1 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
3 7 2 _iter Ljava/util/Iterator;
5 6 3 _child Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
MethodParameters:
Name Flags
policyNodes
_node
protected static boolean processCertD1i(int, java.util.List[], org.bouncycastle.asn1.DERObjectIdentifier, java.util.Set);
descriptor: (I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 0
iconst_1
isub
aaload
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 20
3: StackMap locals: java.util.List int
StackMap stack:
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 6
start local 6 4: aload 6
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getExpectedPolicies:()Ljava/util/Set;
astore 7
start local 7 5: aload 7
aload 2
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
start local 8 7: aload 8
aload 2
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: new org.bouncycastle.jce.provider.PKIXPolicyNode
dup
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
9: iload 0
10: aload 8
11: aload 6
12: aload 3
13: aload 2
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
14: iconst_0
15: invokespecial org.bouncycastle.jce.provider.PKIXPolicyNode.<init>:(Ljava/util/List;ILjava/util/Set;Ljava/security/cert/PolicyNode;Ljava/util/Set;Ljava/lang/String;Z)V
astore 9
start local 9 16: aload 6
aload 9
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
17: aload 1
iload 0
aaload
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: iconst_1
ireturn
end local 9 end local 8 end local 7 end local 6 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 4
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 5 21: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 index I
0 22 1 policyNodes [Ljava/util/List;
0 22 2 pOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 22 3 pq Ljava/util/Set;
1 22 4 policyNodeVec Ljava/util/List;
2 21 5 j I
4 19 6 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
5 19 7 expectedPolicies Ljava/util/Set;
7 19 8 childExpectedPolicies Ljava/util/Set;
16 19 9 child Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
MethodParameters:
Name Flags
index
policyNodes
pOid
pq
protected static void processCertD1ii(int, java.util.List[], org.bouncycastle.asn1.DERObjectIdentifier, java.util.Set);
descriptor: (I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 0
iconst_1
isub
aaload
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 19
3: StackMap locals: java.util.List int
StackMap stack:
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 6
start local 6 4: ldc "2.5.29.32.0"
aload 6
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 6: aload 7
aload 2
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: new org.bouncycastle.jce.provider.PKIXPolicyNode
dup
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
8: iload 0
9: aload 7
10: aload 6
11: aload 3
12: aload 2
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
13: iconst_0
14: invokespecial org.bouncycastle.jce.provider.PKIXPolicyNode.<init>:(Ljava/util/List;ILjava/util/Set;Ljava/security/cert/PolicyNode;Ljava/util/Set;Ljava/lang/String;Z)V
astore 8
start local 8 15: aload 6
aload 8
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
16: aload 1
iload 0
aaload
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: return
end local 8 end local 7 end local 6 18: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 4
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 5 20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 index I
0 21 1 policyNodes [Ljava/util/List;
0 21 2 _poid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 21 3 _pq Ljava/util/Set;
1 21 4 policyNodeVec Ljava/util/List;
2 20 5 j I
4 18 6 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
6 18 7 _childExpectedPolicies Ljava/util/Set;
15 18 8 _child Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
MethodParameters:
Name Flags
index
policyNodes
_poid
_pq
protected static void prepareNextCertB1(int, java.util.List[], java.lang.String, java.util.Map, java.security.cert.X509Certificate);
descriptor: (I[Ljava/util/List;Ljava/lang/String;Ljava/util/Map;Ljava/security/cert/X509Certificate;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 1
iload 0
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 2: goto 8
3: StackMap locals: int java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 7
start local 7 4: aload 7
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
5: iconst_1
istore 5
6: aload 7
aload 3
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
putfield org.bouncycastle.jce.provider.PKIXPolicyNode.expectedPolicies:Ljava/util/Set;
7: goto 9
end local 7 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: StackMap locals:
StackMap stack:
iload 5
ifne 50
10: aload 1
iload 0
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
11: goto 49
12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 7
start local 7 13: ldc "2.5.29.32.0"
aload 7
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
14: aconst_null
astore 8
start local 8 15: aconst_null
astore 9
start local 9 16: aload 4
getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 9
17: goto 21
18: StackMap locals: int java.util.List[] java.lang.String java.util.Map java.security.cert.X509Certificate int java.util.Iterator org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set org.bouncycastle.asn1.ASN1Sequence
StackMap stack: java.lang.Exception
astore 10
start local 10 19: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Certificate policies cannot be decoded."
aload 10
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
20: athrow
end local 10 21: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 10
start local 10 22: goto 35
23: StackMap locals: java.util.Enumeration
StackMap stack:
aconst_null
astore 11
start local 11 24: aload 10
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
astore 11
25: goto 28
26: StackMap locals: int java.util.List[] java.lang.String java.util.Map java.security.cert.X509Certificate int java.util.Iterator org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration org.bouncycastle.asn1.x509.PolicyInformation
StackMap stack: java.lang.Exception
astore 12
start local 12 27: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Policy information cannot be decoded."
aload 12
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 28: StackMap locals:
StackMap stack:
ldc "2.5.29.32.0"
aload 11
invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyIdentifier:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
29: aload 11
invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyQualifiers:()Lorg/bouncycastle/asn1/ASN1Sequence;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getQualifierSet:(Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
astore 8
30: goto 36
31: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 12
start local 12 32: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
33: ldc "Policy qualifier info set could not be built."
aload 12
34: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 end local 11 35: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 23
36: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 37: aload 4
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
ifnull 39
38: aload 4
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 11
39: StackMap locals: int
StackMap stack:
aload 7
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 12
start local 12 40: ldc "2.5.29.32.0"
aload 12
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
41: new org.bouncycastle.jce.provider.PKIXPolicyNode
dup
42: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
iload 0
43: aload 3
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
44: aload 12
aload 8
aload 2
iload 11
45: invokespecial org.bouncycastle.jce.provider.PKIXPolicyNode.<init>:(Ljava/util/List;ILjava/util/Set;Ljava/security/cert/PolicyNode;Ljava/util/Set;Ljava/lang/String;Z)V
astore 13
start local 13 46: aload 12
aload 13
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
47: aload 1
iload 0
aaload
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 48: goto 50
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 49: StackMap locals: int java.util.List[] java.lang.String java.util.Map java.security.cert.X509Certificate int java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
50: 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 51 0 i I
0 51 1 policyNodes [Ljava/util/List;
0 51 2 id_p Ljava/lang/String;
0 51 3 m_idp Ljava/util/Map;
0 51 4 cert Ljava/security/cert/X509Certificate;
1 51 5 idp_found Z
2 51 6 nodes_i Ljava/util/Iterator;
4 8 7 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
13 49 7 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
15 49 8 pq Ljava/util/Set;
16 49 9 policies Lorg/bouncycastle/asn1/ASN1Sequence;
19 21 10 e Ljava/lang/Exception;
22 49 10 e Ljava/util/Enumeration;
24 35 11 pinfo Lorg/bouncycastle/asn1/x509/PolicyInformation;
27 28 12 ex Ljava/lang/Exception;
32 35 12 ex Ljava/security/cert/CertPathValidatorException;
37 49 11 ci Z
40 49 12 p_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
46 48 13 c_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
Exception table:
from to target type
16 17 18 Class java.lang.Exception
24 25 26 Class java.lang.Exception
29 30 31 Class java.security.cert.CertPathValidatorException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException, java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
i
policyNodes
id_p
m_idp
cert
protected static org.bouncycastle.jce.provider.PKIXPolicyNode prepareNextCertB2(int, java.util.List[], java.lang.String, org.bouncycastle.jce.provider.PKIXPolicyNode);
descriptor: (I[Ljava/util/List;Ljava/lang/String;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 0
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 1: goto 21
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 5
start local 5 3: aload 5
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
4: aload 5
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 6
start local 6 5: aload 6
aload 5
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.removeChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
6: aload 4
invokeinterface java.util.Iterator.remove:()V
7: iload 0
iconst_1
isub
istore 7
start local 7 8: goto 20
9: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.jce.provider.PKIXPolicyNode int
StackMap stack:
aload 1
iload 7
aaload
astore 8
start local 8 10: iconst_0
istore 9
start local 9 11: goto 18
12: StackMap locals: java.util.List int
StackMap stack:
aload 8
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 10
start local 10 13: aload 10
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifne 17
14: aload 3
aload 1
aload 10
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
astore 3
15: aload 3
ifnonnull 17
16: goto 19
end local 10 17: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
aload 8
invokeinterface java.util.List.size:()I
if_icmplt 12
end local 9 end local 8 19: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
20: iload 7
ifge 9
end local 7 end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
22: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 i I
0 23 1 policyNodes [Ljava/util/List;
0 23 2 id_p Ljava/lang/String;
0 23 3 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
1 23 4 nodes_i Ljava/util/Iterator;
3 21 5 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
5 21 6 p_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
8 21 7 k I
10 19 8 nodes Ljava/util/List;
11 19 9 l I
13 17 10 node2 Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
MethodParameters:
Name Flags
i
policyNodes
id_p
validPolicyTree
protected static boolean isAnyPolicy(java.util.Set);
descriptor: (Ljava/util/Set;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "2.5.29.32.0"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 1
aload 0
invokeinterface java.util.Set.isEmpty:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 policySet Ljava/util/Set;
MethodParameters:
Name Flags
policySet
protected static void addAdditionalStoreFromLocation(java.lang.String, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/lang/String;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isAdditionalLocationsEnabled:()Z
ifeq 32
1: aload 0
ldc "ldap://"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 32
2: aload 0
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
3: aconst_null
astore 2
start local 2 4: aconst_null
astore 3
start local 3 5: aload 0
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 11
6: aload 0
aload 0
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
7: new java.lang.StringBuilder
dup
ldc "ldap://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
iconst_0
aload 0
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
10: goto 12
11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "ldap://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
12: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.X509LDAPCertStoreParameters$Builder
dup
13: aload 3
aload 2
14: invokespecial org.bouncycastle.jce.X509LDAPCertStoreParameters$Builder.<init>:(Ljava/lang/String;Ljava/lang/String;)V
15: invokevirtual org.bouncycastle.jce.X509LDAPCertStoreParameters$Builder.build:()Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
16: astore 4
start local 4 17: aload 1
18: ldc "CERTIFICATE/LDAP"
aload 4
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
19: invokestatic org.bouncycastle.x509.X509Store.getInstance:(Ljava/lang/String;Lorg/bouncycastle/x509/X509StoreParameters;Ljava/lang/String;)Lorg/bouncycastle/x509/X509Store;
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.addAdditionalStore:(Lorg/bouncycastle/util/Store;)V
20: aload 1
21: ldc "CRL/LDAP"
aload 4
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
22: invokestatic org.bouncycastle.x509.X509Store.getInstance:(Ljava/lang/String;Lorg/bouncycastle/x509/X509StoreParameters;Ljava/lang/String;)Lorg/bouncycastle/x509/X509Store;
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.addAdditionalStore:(Lorg/bouncycastle/util/Store;)V
23: aload 1
24: ldc "ATTRIBUTECERTIFICATE/LDAP"
aload 4
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
25: invokestatic org.bouncycastle.x509.X509Store.getInstance:(Ljava/lang/String;Lorg/bouncycastle/x509/X509StoreParameters;Ljava/lang/String;)Lorg/bouncycastle/x509/X509Store;
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.addAdditionalStore:(Lorg/bouncycastle/util/Store;)V
26: aload 1
27: ldc "CERTIFICATEPAIR/LDAP"
aload 4
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
28: invokestatic org.bouncycastle.x509.X509Store.getInstance:(Ljava/lang/String;Lorg/bouncycastle/x509/X509StoreParameters;Ljava/lang/String;)Lorg/bouncycastle/x509/X509Store;
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.addAdditionalStore:(Lorg/bouncycastle/util/Store;)V
end local 4 end local 3 end local 2 29: goto 32
30: StackMap locals: java.lang.String org.bouncycastle.x509.ExtendedPKIXParameters
StackMap stack: java.lang.Exception
pop
31: new java.lang.RuntimeException
dup
ldc "Exception adding X.509 stores."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 location Ljava/lang/String;
0 33 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
4 29 2 base Ljava/lang/String;
5 29 3 url Ljava/lang/String;
17 29 4 params Lorg/bouncycastle/jce/X509LDAPCertStoreParameters;
Exception table:
from to target type
1 29 30 Class java.lang.Exception
MethodParameters:
Name Flags
location
pkixParams
protected static java.util.Collection findCertificates(org.bouncycastle.x509.X509CertStoreSelector, java.util.List);
descriptor: (Lorg/bouncycastle/x509/X509CertStoreSelector;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.HashSet
dup
invokespecial java.util.HashSet.<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 21
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.x509.X509Store
ifeq 13
5: aload 4
checkcast org.bouncycastle.x509.X509Store
astore 5
start local 5 6: aload 2
aload 5
aload 0
invokevirtual org.bouncycastle.x509.X509Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: goto 21
8: StackMap locals: org.bouncycastle.x509.X509CertStoreSelector java.util.List java.util.Set java.util.Iterator java.lang.Object org.bouncycastle.x509.X509Store
StackMap stack: org.bouncycastle.util.StoreException
astore 6
start local 6 9: new org.bouncycastle.jce.provider.AnnotatedException
dup
10: ldc "Problem while picking certificates from X.509 store."
aload 6
11: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
12: athrow
end local 6 end local 5 13: StackMap locals:
StackMap stack:
aload 4
checkcast java.security.cert.CertStore
astore 5
start local 5 14: aload 2
aload 5
aload 0
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
15: goto 21
16: StackMap locals: org.bouncycastle.x509.X509CertStoreSelector 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 17: new org.bouncycastle.jce.provider.AnnotatedException
dup
18: ldc "Problem while picking certificates from certificate store."
19: aload 6
20: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
22: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 certSelect Lorg/bouncycastle/x509/X509CertStoreSelector;
0 23 1 certStores Ljava/util/List;
1 23 2 certs Ljava/util/Set;
2 23 3 iter Ljava/util/Iterator;
4 21 4 obj Ljava/lang/Object;
6 13 5 certStore Lorg/bouncycastle/x509/X509Store;
9 13 6 e Lorg/bouncycastle/util/StoreException;
14 21 5 certStore Ljava/security/cert/CertStore;
17 21 6 e Ljava/security/cert/CertStoreException;
Exception table:
from to target type
6 7 8 Class org.bouncycastle.util.StoreException
14 15 16 Class java.security.cert.CertStoreException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
certSelect
certStores
protected static java.util.Collection findCertificates(org.bouncycastle.x509.X509AttributeCertStoreSelector, java.util.List);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;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.HashSet
dup
invokespecial java.util.HashSet.<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 13
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.x509.X509Store
ifeq 13
5: aload 4
checkcast org.bouncycastle.x509.X509Store
astore 5
start local 5 6: aload 2
aload 5
aload 0
invokevirtual org.bouncycastle.x509.X509Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: goto 13
8: StackMap locals: org.bouncycastle.x509.X509AttributeCertStoreSelector java.util.List java.util.Set java.util.Iterator java.lang.Object org.bouncycastle.x509.X509Store
StackMap stack: org.bouncycastle.util.StoreException
astore 6
start local 6 9: new org.bouncycastle.jce.provider.AnnotatedException
dup
10: ldc "Problem while picking certificates from X.509 store."
aload 6
11: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
12: athrow
end local 6 end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
14: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 certSelect Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
0 15 1 certStores Ljava/util/List;
1 15 2 certs Ljava/util/Set;
2 15 3 iter Ljava/util/Iterator;
4 13 4 obj Ljava/lang/Object;
6 13 5 certStore Lorg/bouncycastle/x509/X509Store;
9 13 6 e Lorg/bouncycastle/util/StoreException;
Exception table:
from to target type
6 7 8 Class org.bouncycastle.util.StoreException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
certSelect
certStores
protected static void addAdditionalStoresFromCRLDistributionPoint(org.bouncycastle.asn1.x509.CRLDistPoint, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
ifnull 31
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 org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.DistributionPoint[]
StackMap stack: java.lang.Exception
astore 3
start local 3 5: new org.bouncycastle.jce.provider.AnnotatedException
dup
6: ldc "Distribution points could not be read."
aload 3
7: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 9: goto 30
10: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
astore 4
start local 4 11: aload 4
ifnull 29
12: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
ifne 29
13: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
14: invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
15: invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
16: astore 5
start local 5 17: iconst_0
istore 6
start local 6 18: goto 28
19: StackMap locals: org.bouncycastle.asn1.x509.DistributionPointName org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
bipush 6
if_icmpne 27
20: aload 5
iload 6
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
21: invokestatic org.bouncycastle.asn1.DERIA5String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERIA5String;
22: invokevirtual org.bouncycastle.asn1.DERIA5String.getString:()Ljava/lang/String;
23: astore 7
start local 7 24: aload 7
25: aload 1
26: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoreFromLocation:(Ljava/lang/String;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
end local 7 27: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
aload 5
arraylength
if_icmplt 19
end local 6 end local 5 end local 4 29: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
30: iload 3
aload 2
arraylength
if_icmplt 10
end local 3 end local 2 31: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 crldp Lorg/bouncycastle/asn1/x509/CRLDistPoint;
0 32 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
2 31 2 dps [Lorg/bouncycastle/asn1/x509/DistributionPoint;
5 8 3 e Ljava/lang/Exception;
9 31 3 i I
11 29 4 dpn Lorg/bouncycastle/asn1/x509/DistributionPointName;
17 29 5 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
18 29 6 j I
24 27 7 location Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
crldp
pkixParams
protected static void getCRLIssuersFromDistributionPoint(org.bouncycastle.asn1.x509.DistributionPoint, java.util.Collection, java.security.cert.X509CRLSelector, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/util/Collection;Ljava/security/cert/X509CRLSelector;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 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 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 16
5: StackMap locals: java.util.List org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
iconst_4
if_icmpne 15
6: aload 4
new javax.security.auth.x500.X500Principal
dup
aload 5
iload 6
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
7: invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
8: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 15
10: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 11: new org.bouncycastle.jce.provider.AnnotatedException
dup
12: ldc "CRL issuer information from distribution point cannot be decoded."
13: aload 7
14: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
aload 5
arraylength
if_icmplt 5
end local 6 end local 5 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.jce.provider.AnnotatedException
dup
20: ldc "CRL issuer is omitted from distribution point but no distributionPoint field present."
21: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
start local 5 23: goto 25
24: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.security.auth.x500.X500Principal
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
end local 5 26: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
start local 5 27: goto 34
28: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.security.auth.x500.X500Principal
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokevirtual java.security.cert.X509CRLSelector.addIssuerName:([B)V
29: goto 34
30: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 31: new org.bouncycastle.jce.provider.AnnotatedException
dup
32: ldc "Cannot decode CRL issuer information."
aload 6
33: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 34: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
35: return
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 36 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 36 1 issuerPrincipals Ljava/util/Collection;
0 36 2 selector Ljava/security/cert/X509CRLSelector;
0 36 3 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 36 4 issuers Ljava/util/List;
3 17 5 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
4 17 6 j I
11 15 7 e Ljava/io/IOException;
23 26 5 it Ljava/util/Iterator;
27 36 5 it Ljava/util/Iterator;
31 34 6 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.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
issuerPrincipals
selector
pkixParams
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
instanceof java.security.cert.X509Certificate
ifeq 2
1: aload 0
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.x509.X509AttributeCertificate
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getSerialNumber:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 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.jce.provider.CertStatus);
descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, 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: new org.bouncycastle.jce.provider.X509CRLObject
dup
new org.bouncycastle.asn1.x509.CertificateList
dup
aload 1
invokevirtual java.security.cert.X509CRL.getEncoded:()[B
invokestatic org.bouncycastle.asn1.ASN1Sequence.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.CertificateList.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
invokespecial org.bouncycastle.jce.provider.X509CRLObject.<init>:(Lorg/bouncycastle/asn1/x509/CertificateList;)V
astore 4
2: goto 5
3: StackMap locals: java.util.Date java.security.cert.X509CRL java.lang.Object org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.X509CRLObject
StackMap stack: java.lang.Exception
astore 5
start local 5 4: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Bouncy Castle X509CRLObject could not be created."
aload 5
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 5: StackMap locals:
StackMap stack:
aload 4
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getSerialNumber:(Ljava/lang/Object;)Ljava/math/BigInteger;
invokevirtual org.bouncycastle.jce.provider.X509CRLObject.getRevokedCertificate:(Ljava/math/BigInteger;)Ljava/security/cert/X509CRLEntry;
checkcast org.bouncycastle.jce.provider.X509CRLEntryObject
astore 5
start local 5 6: aload 5
ifnull 33
7: aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
aload 5
invokevirtual org.bouncycastle.jce.provider.X509CRLEntryObject.getCertificateIssuer:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 9
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
8: aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 33
9: StackMap locals: org.bouncycastle.jce.provider.X509CRLEntryObject
StackMap stack:
aconst_null
astore 6
start local 6 10: aload 5
invokevirtual org.bouncycastle.jce.provider.X509CRLEntryObject.hasExtensions:()Z
ifeq 22
11: aload 5
12: getstatic org.bouncycastle.asn1.x509.X509Extensions.ReasonCode:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
13: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
14: invokestatic org.bouncycastle.asn1.DEREnumerated.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DEREnumerated;
15: astore 6
16: goto 22
17: StackMap locals: java.util.Date java.security.cert.X509CRL java.lang.Object org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.X509CRLObject org.bouncycastle.jce.provider.X509CRLEntryObject org.bouncycastle.asn1.DEREnumerated
StackMap stack: java.lang.Exception
astore 7
start local 7 18: new org.bouncycastle.jce.provider.AnnotatedException
19: ldc "Reason code CRL entry extension could not be decoded."
20: aload 7
21: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 22: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Date.getTime:()J
aload 5
invokevirtual org.bouncycastle.jce.provider.X509CRLEntryObject.getRevocationDate:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifge 28
23: aload 6
ifnull 28
24: aload 6
invokevirtual org.bouncycastle.asn1.DEREnumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ifeq 28
25: aload 6
invokevirtual org.bouncycastle.asn1.DEREnumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
iconst_1
if_icmpeq 28
26: aload 6
invokevirtual org.bouncycastle.asn1.DEREnumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
iconst_2
if_icmpeq 28
27: aload 6
invokevirtual org.bouncycastle.asn1.DEREnumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
bipush 8
if_icmpne 33
28: StackMap locals:
StackMap stack:
aload 6
ifnull 31
29: aload 3
aload 6
invokevirtual org.bouncycastle.asn1.DEREnumerated.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
30: goto 32
31: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
32: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual org.bouncycastle.jce.provider.X509CRLEntryObject.getRevocationDate:()Ljava/util/Date;
invokevirtual org.bouncycastle.jce.provider.CertStatus.setRevocationDate:(Ljava/util/Date;)V
end local 6 33: StackMap locals:
StackMap stack:
return
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 34 0 validDate Ljava/util/Date;
0 34 1 crl Ljava/security/cert/X509CRL;
0 34 2 cert Ljava/lang/Object;
0 34 3 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
1 34 4 bcCRL Lorg/bouncycastle/jce/provider/X509CRLObject;
4 5 5 exception Ljava/lang/Exception;
6 34 5 crl_entry Lorg/bouncycastle/jce/provider/X509CRLEntryObject;
10 33 6 reasonCode Lorg/bouncycastle/asn1/DEREnumerated;
18 22 7 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
11 16 17 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
validDate
crl
cert
certStatus
protected static java.util.Set getDeltaCRLs(java.util.Date, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509CRL);
descriptor: (Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.x509.X509CRLStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
astore 3
start local 3 1: aload 3
2: aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
3: invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.addIssuerName:([B)V
4: goto 7
5: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509CRL org.bouncycastle.x509.X509CRLStoreSelector
StackMap stack: java.io.IOException
astore 4
start local 4 6: new org.bouncycastle.jce.provider.AnnotatedException
ldc "Cannot extract issuer from CRL."
aload 4
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 7: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 8: aload 2
9: getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CRL_NUMBER:Ljava/lang/String;
10: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
astore 5
start local 5 11: aload 5
ifnull 18
12: aload 5
invokestatic org.bouncycastle.asn1.x509.CRLNumber.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERInteger;
invokevirtual org.bouncycastle.asn1.DERInteger.getPositiveValue:()Ljava/math/BigInteger;
astore 4
end local 5 13: goto 18
14: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509CRL org.bouncycastle.x509.X509CRLStoreSelector java.math.BigInteger
StackMap stack: java.lang.Exception
astore 5
start local 5 15: new org.bouncycastle.jce.provider.AnnotatedException
dup
16: ldc "CRL number extension could not be extracted from CRL."
aload 5
17: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 18: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 19: aload 2
getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
invokevirtual java.security.cert.X509CRL.getExtensionValue:(Ljava/lang/String;)[B
astore 5
20: goto 26
21: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509CRL org.bouncycastle.x509.X509CRLStoreSelector java.math.BigInteger byte[]
StackMap stack: java.lang.Exception
astore 6
start local 6 22: new org.bouncycastle.jce.provider.AnnotatedException
dup
23: ldc "Issuing distribution point extension value could not be read."
24: aload 6
25: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 26: StackMap locals:
StackMap stack:
aload 3
aload 4
ifnonnull 27
aconst_null
goto 29
StackMap locals:
StackMap stack: org.bouncycastle.x509.X509CRLStoreSelector
27: aload 4
28: lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
29: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509CRL org.bouncycastle.x509.X509CRLStoreSelector java.math.BigInteger byte[]
StackMap stack: org.bouncycastle.x509.X509CRLStoreSelector java.math.BigInteger
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setMinCRLNumber:(Ljava/math/BigInteger;)V
30: aload 3
aload 5
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setIssuingDistributionPoint:([B)V
31: aload 3
iconst_1
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setIssuingDistributionPointEnabled:(Z)V
32: aload 3
aload 4
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setMaxBaseCRLNumber:(Ljava/math/BigInteger;)V
33: getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
aload 3
aload 1
aload 0
invokevirtual org.bouncycastle.jce.provider.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/x509/X509CRLStoreSelector;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;)Ljava/util/Set;
astore 6
start local 6 34: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 35: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
start local 8 36: goto 40
37: StackMap locals: java.util.Set java.util.Set java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 9
start local 9 38: aload 9
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isDeltaCRL:(Ljava/security/cert/X509CRL;)Z
ifeq 40
39: aload 7
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 40: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
end local 8 41: 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 42 0 currentDate Ljava/util/Date;
0 42 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 42 2 completeCRL Ljava/security/cert/X509CRL;
1 42 3 deltaSelect Lorg/bouncycastle/x509/X509CRLStoreSelector;
6 7 4 e Ljava/io/IOException;
8 42 4 completeCRLNumber Ljava/math/BigInteger;
11 13 5 derObject Lorg/bouncycastle/asn1/DERObject;
15 18 5 e Ljava/lang/Exception;
19 42 5 idp [B
22 26 6 e Ljava/lang/Exception;
34 42 6 temp Ljava/util/Set;
35 42 7 result Ljava/util/Set;
36 41 8 it Ljava/util/Iterator;
38 40 9 crl Ljava/security/cert/X509CRL;
Exception table:
from to target type
1 4 5 Class java.io.IOException
8 13 14 Class java.lang.Exception
19 20 21 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
currentDate
paramsPKIX
completeCRL
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
getstatic org.bouncycastle.jce.provider.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 2 0 crl Ljava/security/cert/X509CRL;
1 2 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, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.bouncycastle.x509.X509CRLStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
astore 4
start local 4 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 2: aload 1
instanceof org.bouncycastle.x509.X509AttributeCertificate
ifeq 7
3: aload 5
aload 1
checkcast org.bouncycastle.x509.X509AttributeCertificate
4: invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
iconst_0
aaload
5: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: goto 8
7: StackMap locals: org.bouncycastle.x509.X509CRLStoreSelector java.util.Set
StackMap stack:
aload 5
aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 4
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCRLIssuersFromDistributionPoint:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/util/Collection;Ljava/security/cert/X509CRLSelector;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
end local 5 9: goto 14
10: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.x509.X509CRLStoreSelector
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 5
start local 5 11: new org.bouncycastle.jce.provider.AnnotatedException
12: ldc "Could not get issuer information from distribution point."
aload 5
13: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 14: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.cert.X509Certificate
ifeq 17
15: aload 4
aload 1
checkcast java.security.cert.X509Certificate
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
16: goto 19
17: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.x509.X509AttributeCertificate
ifeq 19
18: aload 4
aload 1
checkcast org.bouncycastle.x509.X509AttributeCertificate
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setAttrCertificateChecking:(Lorg/bouncycastle/x509/X509AttributeCertificate;)V
19: StackMap locals:
StackMap stack:
aload 4
iconst_1
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCompleteCRLEnabled:(Z)V
20: getstatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
aload 4
aload 3
aload 2
invokevirtual org.bouncycastle.jce.provider.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/x509/X509CRLStoreSelector;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;)Ljava/util/Set;
astore 5
start local 5 21: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifeq 27
22: aload 1
instanceof org.bouncycastle.x509.X509AttributeCertificate
ifeq 25
23: aload 1
checkcast org.bouncycastle.x509.X509AttributeCertificate
astore 6
start local 6 24: new org.bouncycastle.jce.provider.AnnotatedException
dup
new java.lang.StringBuilder
dup
ldc "No CRLs found for issuer \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 6 25: StackMap locals: java.util.Set
StackMap stack:
aload 1
checkcast java.security.cert.X509Certificate
astore 6
start local 6 26: new org.bouncycastle.jce.provider.AnnotatedException
dup
new java.lang.StringBuilder
dup
ldc "No CRLs found for issuer \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 6 27: StackMap locals:
StackMap stack:
aload 5
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 28 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 28 1 cert Ljava/lang/Object;
0 28 2 currentDate Ljava/util/Date;
0 28 3 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
1 28 4 crlselect Lorg/bouncycastle/x509/X509CRLStoreSelector;
2 9 5 issuers Ljava/util/Set;
11 14 5 e Lorg/bouncycastle/jce/provider/AnnotatedException;
21 28 5 crls Ljava/util/Set;
24 25 6 aCert Lorg/bouncycastle/x509/X509AttributeCertificate;
26 27 6 xCert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
1 9 10 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
cert
currentDate
paramsPKIX
protected static java.util.Date getValidCertDateFromValidityModel(org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.CertPath, int);
descriptor: (Lorg/bouncycastle/x509/ExtendedPKIXParameters;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.x509.ExtendedPKIXParameters.getValidityModel:()I
iconst_1
if_icmpne 35
1: iload 2
ifgt 3
2: aload 0
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidDate:(Ljava/security/cert/PKIXParameters;)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.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
invokestatic org.bouncycastle.asn1.DERGeneralizedTime.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERGeneralizedTime;
astore 3
end local 4 8: goto 17
9: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPath int org.bouncycastle.asn1.DERGeneralizedTime
StackMap stack: java.io.IOException
pop
10: new org.bouncycastle.jce.provider.AnnotatedException
dup
11: ldc "Date of cert gen extension could not be read."
12: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
14: new org.bouncycastle.jce.provider.AnnotatedException
dup
15: ldc "Date of cert gen extension could not be read."
16: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 3
ifnull 25
18: aload 3
invokevirtual org.bouncycastle.asn1.DERGeneralizedTime.getDate:()Ljava/util/Date;
19: areturn
20: StackMap locals:
StackMap stack: java.text.ParseException
astore 4
start local 4 21: new org.bouncycastle.jce.provider.AnnotatedException
dup
22: ldc "Date from date of cert gen extension could not be parsed."
23: aload 4
24: invokespecial org.bouncycastle.jce.provider.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.jce.provider.CertPathValidatorUtilities.getValidDate:(Ljava/security/cert/PKIXParameters;)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/x509/ExtendedPKIXParameters;
0 36 1 certPath Ljava/security/cert/CertPath;
0 36 2 index I
5 30 3 dateOfCertgen Lorg/bouncycastle/asn1/DERGeneralizedTime;
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.jce.provider.AnnotatedException
MethodParameters:
Name Flags
paramsPKIX
certPath
index
protected static java.security.PublicKey getNextWorkingKey(java.util.List, int);
descriptor: (Ljava/util/List;I)Ljava/security/PublicKey;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 2
start local 2 1: aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 3
start local 3 2: aload 3
instanceof java.security.interfaces.DSAPublicKey
ifne 4
3: aload 3
areturn
4: StackMap locals: java.security.cert.Certificate java.security.PublicKey
StackMap stack:
aload 3
checkcast java.security.interfaces.DSAPublicKey
astore 4
start local 4 5: aload 4
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
ifnull 7
6: aload 4
areturn
7: StackMap locals: java.security.interfaces.DSAPublicKey
StackMap stack:
iload 1
iconst_1
iadd
istore 5
start local 5 8: goto 28
9: StackMap locals: int
StackMap stack:
aload 0
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 10: aload 6
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 3
11: aload 3
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 3
checkcast java.security.interfaces.DSAPublicKey
astore 7
start local 7 16: aload 7
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 7
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
astore 8
start local 8 19: new java.security.spec.DSAPublicKeySpec
dup
20: aload 4
invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
aload 8
invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
aload 8
invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
aload 8
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 9
start local 9 22: ldc "DSA"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
astore 10
start local 10 23: aload 10
aload 9
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
24: areturn
end local 10 25: StackMap locals: java.util.List int 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 10
start local 10 26: new java.lang.RuntimeException
dup
aload 10
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 10 end local 9 end local 8 end local 7 end local 6 27: StackMap locals: java.util.List int java.security.cert.Certificate java.security.PublicKey java.security.interfaces.DSAPublicKey int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
28: iload 5
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 9
end local 5 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 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
1 30 2 cert Ljava/security/cert/Certificate;
2 30 3 pubKey Ljava/security/PublicKey;
5 30 4 dsaPubKey Ljava/security/interfaces/DSAPublicKey;
8 29 5 i I
10 27 6 parentCert Ljava/security/cert/X509Certificate;
16 27 7 prevDSAPubKey Ljava/security/interfaces/DSAPublicKey;
19 27 8 dsaParams Ljava/security/interfaces/DSAParams;
22 27 9 dsaPubKeySpec Ljava/security/spec/DSAPublicKeySpec;
23 25 10 keyFactory Ljava/security/KeyFactory;
26 27 10 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
protected static java.util.Collection findIssuerCerts(java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXBuilderParameters);
descriptor: (Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;)Ljava/util/Collection;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: aload 2
aload 0
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSubject:([B)V
3: goto 8
4: StackMap locals: java.security.cert.X509Certificate org.bouncycastle.x509.ExtendedPKIXBuilderParameters org.bouncycastle.x509.X509CertStoreSelector java.util.Set
StackMap stack: java.io.IOException
astore 4
start local 4 5: new org.bouncycastle.jce.provider.AnnotatedException
dup
6: ldc "Subject criteria for certificate selector to find issuer certificate could not be set."
aload 4
7: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 8: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 9: aload 5
aload 2
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getCertStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
10: aload 5
aload 2
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
11: aload 5
aload 2
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getAdditionalStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
12: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
end local 5 start local 4 13: goto 16
end local 4 14: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 5
start local 5 15: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuer certificate cannot be searched."
aload 5
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 16: StackMap locals: java.util.Iterator
StackMap stack:
aconst_null
astore 5
start local 5 17: goto 20
18: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 5
19: aload 3
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
20: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: aload 3
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 22 0 cert Ljava/security/cert/X509Certificate;
0 22 1 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
1 22 2 certSelect Lorg/bouncycastle/x509/X509CertStoreSelector;
2 22 3 certs Ljava/util/Set;
5 8 4 ex Ljava/io/IOException;
13 14 4 iter Ljava/util/Iterator;
16 22 4 iter Ljava/util/Iterator;
9 13 5 matches Ljava/util/List;
15 16 5 e Lorg/bouncycastle/jce/provider/AnnotatedException;
17 22 5 issuer Ljava/security/cert/X509Certificate;
Exception table:
from to target type
2 3 4 Class java.io.IOException
8 13 14 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
cert
pkixParams
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
}
SourceFile: "CertPathValidatorUtilities.java"
InnerClasses:
public Builder = org.bouncycastle.jce.X509LDAPCertStoreParameters$Builder of org.bouncycastle.jce.X509LDAPCertStoreParameters