public class org.bouncycastle.jce.provider.RFC3280CertPathUtilities
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.RFC3280CertPathUtilities
super_class: java.lang.Object
{
private static final org.bouncycastle.jce.provider.PKIXCRLUtil CRL_UTIL;
descriptor: Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
flags: (0x001a) ACC_PRIVATE, 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 POLICY_MAPPINGS;
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 FRESHEST_CRL;
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 BASIC_CONSTRAINTS;
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 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 AUTHORITY_KEY_IDENTIFIER;
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 CRL_NUMBER;
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 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.RFC3280CertPathUtilities.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.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
2: 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.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
3: 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.RFC3280CertPathUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
4: 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.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
5: 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.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
6: 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.RFC3280CertPathUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
7: 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.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
8: 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.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
9: 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.RFC3280CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
10: 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.RFC3280CertPathUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
11: 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.RFC3280CertPathUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
12: 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.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
13: 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.RFC3280CertPathUtilities.KEY_USAGE: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.RFC3280CertPathUtilities.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.RFC3280CertPathUtilities.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/RFC3280CertPathUtilities;
protected static void processCRLB2(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
2: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
3: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
astore 3
4: goto 7
5: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack: java.lang.Exception
astore 4
start local 4 6: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuing distribution point extension could not be decoded."
aload 4
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
aload 3
ifnull 103
8: aload 3
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
ifnull 89
9: aload 3
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
astore 4
start local 4 10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 11: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
ifne 18
12: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
astore 6
start local 6 13: iconst_0
istore 7
start local 7 14: goto 17
15: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 5
aload 6
iload 7
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 6
arraylength
if_icmplt 15
end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
iconst_1
if_icmpne 34
19: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 6
start local 6 20: aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
21: invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
22: invokestatic org.bouncycastle.asn1.ASN1Sequence.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
23: invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
24: invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
25: astore 7
start local 7 26: goto 28
27: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration
StackMap stack:
aload 6
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DEREncodable
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 27
end local 7 29: goto 32
30: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.ASN1EncodableVector
StackMap stack: java.io.IOException
astore 7
start local 7 31: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Could not read CRL issuer."
aload 7
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 32: StackMap locals:
StackMap stack:
aload 6
aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
33: aload 5
new org.bouncycastle.asn1.x509.GeneralName
dup
new org.bouncycastle.asn1.DERSequence
dup
aload 6
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.x509.X509Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509Name;
invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 34: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 35: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
ifnull 75
36: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
astore 4
37: aconst_null
astore 7
start local 7 38: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
ifne 40
39: aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
astore 7
40: StackMap locals: int org.bouncycastle.asn1.x509.GeneralName[]
StackMap stack:
aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
iconst_1
if_icmpne 63
41: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
ifnull 44
42: 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 7
43: goto 52
44: StackMap locals:
StackMap stack:
iconst_1
anewarray org.bouncycastle.asn1.x509.GeneralName
astore 7
45: aload 7
iconst_0
new org.bouncycastle.asn1.x509.GeneralName
dup
new org.bouncycastle.asn1.x509.X509Name
dup
46: aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
47: invokestatic org.bouncycastle.asn1.ASN1Sequence.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
48: aastore
49: goto 52
50: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 51: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Could not read certificate issuer."
aload 8
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 52: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 53: goto 62
54: StackMap locals: int
StackMap stack:
aload 7
iload 8
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 9
start local 9 55: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 10
start local 10 56: goto 58
57: StackMap locals: java.util.Enumeration org.bouncycastle.asn1.ASN1EncodableVector
StackMap stack:
aload 10
aload 9
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DEREncodable
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
58: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 57
59: aload 10
aload 4
invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
60: aload 7
iload 8
new org.bouncycastle.asn1.x509.GeneralName
dup
new org.bouncycastle.asn1.x509.X509Name
dup
new org.bouncycastle.asn1.DERSequence
dup
aload 10
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
aastore
end local 10 end local 9 61: iinc 8 1
StackMap locals:
StackMap stack:
62: iload 8
aload 7
arraylength
if_icmplt 54
end local 8 63: StackMap locals:
StackMap stack:
aload 7
ifnull 71
64: iconst_0
istore 8
start local 8 65: goto 70
66: StackMap locals: int
StackMap stack:
aload 5
aload 7
iload 8
aaload
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 69
67: iconst_1
istore 6
68: goto 71
69: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
70: iload 8
aload 7
arraylength
if_icmplt 66
end local 8 71: StackMap locals:
StackMap stack:
iload 6
ifne 89
72: new org.bouncycastle.jce.provider.AnnotatedException
dup
73: ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
74: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 7 75: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
ifnonnull 77
76: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Either the cRLIssuer or the distributionPoint field must be contained in DistributionPoint."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack:
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 7
start local 7 78: iconst_0
istore 8
start local 8 79: goto 84
80: StackMap locals: org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 5
aload 7
iload 8
aaload
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 83
81: iconst_1
istore 6
82: goto 85
83: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
84: iload 8
aload 7
arraylength
if_icmplt 80
end local 8 85: StackMap locals:
StackMap stack:
iload 6
ifne 89
86: new org.bouncycastle.jce.provider.AnnotatedException
dup
87: ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
88: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 89: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack:
aconst_null
astore 4
start local 4 90: aload 1
checkcast java.security.cert.X509Extension
91: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
92: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
astore 4
93: goto 96
94: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.BasicConstraints
StackMap stack: java.lang.Exception
astore 5
start local 5 95: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Basic constraints extension could not be decoded."
aload 5
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 96: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.cert.X509Certificate
ifeq 101
97: aload 3
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsUserCerts:()Z
ifeq 99
aload 4
ifnull 99
aload 4
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
ifeq 99
98: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "CA Cert CRL only contains user certificates."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
99: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsCACerts:()Z
ifeq 101
aload 4
ifnull 100
aload 4
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
ifne 101
100: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "End CRL only contains CA certificates."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsAttributeCerts:()Z
ifeq 103
102: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "onlyContainsAttributeCerts boolean is asserted."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 4 103: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 104 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 104 1 cert Ljava/lang/Object;
0 104 2 crl Ljava/security/cert/X509CRL;
1 104 3 idp Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
6 7 4 e Ljava/lang/Exception;
10 89 4 dpName Lorg/bouncycastle/asn1/x509/DistributionPointName;
11 89 5 names Ljava/util/List;
13 18 6 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
14 18 7 j I
20 34 6 vec Lorg/bouncycastle/asn1/ASN1EncodableVector;
26 29 7 e Ljava/util/Enumeration;
31 32 7 e Ljava/io/IOException;
35 89 6 matches Z
38 75 7 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
51 52 8 e Ljava/io/IOException;
53 63 8 j I
55 61 9 e Ljava/util/Enumeration;
56 61 10 vec Lorg/bouncycastle/asn1/ASN1EncodableVector;
65 71 8 j I
78 89 7 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
79 85 8 j I
90 103 4 bc Lorg/bouncycastle/asn1/x509/BasicConstraints;
95 96 5 e Ljava/lang/Exception;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
20 29 30 Class java.io.IOException
45 49 50 Class java.io.IOException
90 93 94 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
cert
crl
protected static void processCRLB1(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 3
ifnull 5
3: aload 3
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.isIndirectCRL:()Z
ifeq 5
4: iconst_1
istore 4
5: StackMap locals: org.bouncycastle.asn1.DERObject int
StackMap stack:
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
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: aload 0
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
ifnull 25
8: 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 7
start local 7 9: iconst_0
istore 8
start local 8 10: goto 20
11: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.DERObject int byte[] int org.bouncycastle.asn1.x509.GeneralName[] int
StackMap stack:
aload 7
iload 8
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
iconst_4
if_icmpne 19
12: aload 7
iload 8
aaload
invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
aload 5
invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
ifeq 19
13: iconst_1
istore 6
14: goto 19
15: StackMap locals:
StackMap stack: java.io.IOException
astore 9
start local 9 16: new org.bouncycastle.jce.provider.AnnotatedException
dup
17: ldc "CRL issuer information from distribution point cannot be decoded."
aload 9
18: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 19: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
aload 7
arraylength
if_icmplt 11
end local 8 21: iload 6
ifeq 23
iload 4
ifne 23
22: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Distribution point contains cRLIssuer field but CRL is not indirect."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
iload 6
ifne 30
24: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "CRL issuer of CRL does not match CRL issuer of distribution point."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 7 25: StackMap locals:
StackMap stack:
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
26: aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
27: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
28: ifeq 30
29: iconst_1
istore 6
30: StackMap locals:
StackMap stack:
iload 6
ifne 32
31: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Cannot find matching CRL issuer for certificate."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
32: 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 33 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 33 1 cert Ljava/lang/Object;
0 33 2 crl Ljava/security/cert/X509CRL;
1 33 3 idp Lorg/bouncycastle/asn1/DERObject;
2 33 4 isIndirect Z
6 33 5 issuerBytes [B
7 33 6 matchIssuer Z
9 25 7 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
10 21 8 j I
16 19 9 e Ljava/io/IOException;
Exception table:
from to target type
12 14 15 Class java.io.IOException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
cert
crl
protected static org.bouncycastle.jce.provider.ReasonsMask processCRLD(java.security.cert.X509CRL, org.bouncycastle.asn1.x509.DistributionPoint);
descriptor: (Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
2: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
3: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
astore 2
4: goto 7
5: StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack: java.lang.Exception
astore 3
start local 3 6: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuing distribution point extension could not be decoded."
aload 3
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 2
ifnull 11
aload 2
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
ifnull 11
aload 1
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
ifnull 11
8: new org.bouncycastle.jce.provider.ReasonsMask
dup
aload 1
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
new org.bouncycastle.jce.provider.ReasonsMask
dup
aload 2
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
9: invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
10: invokevirtual org.bouncycastle.jce.provider.ReasonsMask.intersect:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Lorg/bouncycastle/jce/provider/ReasonsMask;
areturn
11: StackMap locals:
StackMap stack:
aload 2
ifnull 12
aload 2
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
ifnonnull 14
StackMap locals:
StackMap stack:
12: aload 1
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
ifnonnull 14
13: getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
areturn
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
ifnonnull 16
15: getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
goto 17
16: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.ReasonsMask
dup
aload 1
invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.ReasonsMask
17: aload 2
ifnonnull 19
18: getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
goto 20
19: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.ReasonsMask
new org.bouncycastle.jce.provider.ReasonsMask
dup
aload 2
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
20: StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack: org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.ReasonsMask
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.intersect:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Lorg/bouncycastle/jce/provider/ReasonsMask;
21: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 crl Ljava/security/cert/X509CRL;
0 22 1 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
1 22 2 idp Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
6 7 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
crl
dp
protected static java.util.Set processCRLF(java.security.cert.X509CRL, java.lang.Object, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.List);
descriptor: (Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 6
start local 6 1: aload 0
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
astore 7
start local 7 2: aload 6
aload 7
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSubject:([B)V
end local 7 3: goto 8
4: StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.x509.ExtendedPKIXParameters java.util.List org.bouncycastle.x509.X509CertStoreSelector
StackMap stack: java.io.IOException
astore 7
start local 7 5: new org.bouncycastle.jce.provider.AnnotatedException
dup
6: ldc "Subject criteria for certificate selector to find issuer certificate for CRL could not be set."
aload 7
7: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 8: StackMap locals:
StackMap stack:
aload 6
aload 4
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
astore 7
start local 7 9: aload 7
aload 6
aload 4
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getAdditionalStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
10: aload 7
aload 6
aload 4
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getCertStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
11: goto 14
end local 7 12: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 8
start local 8 13: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuer certificate for CRL cannot be searched."
aload 8
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 start local 7 14: StackMap locals: java.util.Collection
StackMap stack:
aload 7
aload 2
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
15: aload 7
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
start local 8 16: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 18: goto 45
19: StackMap locals: java.util.Iterator java.util.List java.util.List
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 11
start local 11 20: aload 11
aload 2
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 24
21: aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 10
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: goto 45
24: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
ldc "PKIX"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
astore 12
start local 12 25: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 6
26: aload 6
aload 11
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
27: aload 4
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 13
start local 13 28: aload 13
aload 6
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.setTargetCertConstraints:(Ljava/security/cert/CertSelector;)V
29: aload 13
invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
30: checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
astore 14
start local 14 31: aload 5
aload 11
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 34
32: aload 14
iconst_0
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setRevocationEnabled:(Z)V
33: goto 35
34: StackMap locals: java.security.cert.CertPathBuilder org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters
StackMap stack:
aload 14
iconst_1
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setRevocationEnabled:(Z)V
35: StackMap locals:
StackMap stack:
aload 12
aload 14
invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 15
start local 15 36: aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
37: aload 10
aload 15
iconst_0
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getNextWorkingKey:(Ljava/util/List;I)Ljava/security/PublicKey;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 38: goto 45
39: StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.x509.ExtendedPKIXParameters java.util.List org.bouncycastle.x509.X509CertStoreSelector java.util.Collection java.util.Iterator java.util.List java.util.List java.security.cert.X509Certificate
StackMap stack: java.security.cert.CertPathBuilderException
astore 12
start local 12 40: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Internal error."
aload 12
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 41: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 12
start local 12 42: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Public key of issuer certificate of CRL could not be retrieved."
aload 12
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 43: StackMap locals:
StackMap stack: java.lang.Exception
astore 12
start local 12 44: new java.lang.RuntimeException
dup
aload 12
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 12 end local 11 45: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
46: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 11
start local 11 47: aconst_null
astore 12
start local 12 48: iconst_0
istore 13
start local 13 49: goto 59
50: StackMap locals: java.util.Set org.bouncycastle.jce.provider.AnnotatedException int
StackMap stack:
aload 9
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 14
start local 14 51: aload 14
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 15
start local 15 52: aload 15
ifnull 57
aload 15
arraylength
bipush 7
if_icmplt 53
aload 15
bipush 6
baload
ifne 57
53: StackMap locals: java.security.cert.X509Certificate boolean[]
StackMap stack:
new org.bouncycastle.jce.provider.AnnotatedException
dup
54: ldc "Issuer certificate key usage extension does not permit CRL signing."
55: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
astore 12
56: goto 58
57: StackMap locals:
StackMap stack:
aload 11
aload 10
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 58: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
59: iload 13
aload 9
invokeinterface java.util.List.size:()I
if_icmplt 50
end local 13 60: aload 11
invokeinterface java.util.Set.isEmpty:()Z
ifeq 62
aload 12
ifnonnull 62
61: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Cannot find a valid issuer certificate."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Set.isEmpty:()Z
ifeq 64
aload 12
ifnull 64
63: aload 12
athrow
64: StackMap locals:
StackMap stack:
aload 11
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 crl Ljava/security/cert/X509CRL;
0 65 1 cert Ljava/lang/Object;
0 65 2 defaultCRLSignCert Ljava/security/cert/X509Certificate;
0 65 3 defaultCRLSignKey Ljava/security/PublicKey;
0 65 4 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 65 5 certPathCerts Ljava/util/List;
1 65 6 selector Lorg/bouncycastle/x509/X509CertStoreSelector;
2 3 7 issuerPrincipal [B
5 8 7 e Ljava/io/IOException;
9 12 7 coll Ljava/util/Collection;
14 65 7 coll Ljava/util/Collection;
13 14 8 e Lorg/bouncycastle/jce/provider/AnnotatedException;
16 65 8 cert_it Ljava/util/Iterator;
17 65 9 validCerts Ljava/util/List;
18 65 10 validKeys Ljava/util/List;
20 45 11 signingCert Ljava/security/cert/X509Certificate;
25 38 12 builder Ljava/security/cert/CertPathBuilder;
28 38 13 temp Lorg/bouncycastle/x509/ExtendedPKIXParameters;
31 38 14 params Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
36 38 15 certs Ljava/util/List;
40 41 12 e Ljava/security/cert/CertPathBuilderException;
42 43 12 e Ljava/security/cert/CertPathValidatorException;
44 45 12 e Ljava/lang/Exception;
47 65 11 checkKeys Ljava/util/Set;
48 65 12 lastException Lorg/bouncycastle/jce/provider/AnnotatedException;
49 60 13 i I
51 58 14 signCert Ljava/security/cert/X509Certificate;
52 58 15 keyusage [Z
Exception table:
from to target type
1 3 4 Class java.io.IOException
8 11 12 Class org.bouncycastle.jce.provider.AnnotatedException
24 38 39 Class java.security.cert.CertPathBuilderException
24 38 41 Class java.security.cert.CertPathValidatorException
24 38 43 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
crl
cert
defaultCRLSignCert
defaultCRLSignKey
paramsPKIX
certPathCerts
protected static java.security.PublicKey processCRLG(java.security.cert.X509CRL, java.util.Set);
descriptor: (Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 9
3: StackMap locals: java.lang.Exception java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.PublicKey
astore 4
start local 4 4: aload 0
aload 4
invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
5: aload 4
6: areturn
7: StackMap locals: java.security.cert.X509CRL java.util.Set java.lang.Exception java.util.Iterator java.security.PublicKey
StackMap stack: java.lang.Exception
astore 5
start local 5 8: aload 5
astore 2
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 10: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Cannot verify CRL."
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 11 0 crl Ljava/security/cert/X509CRL;
0 11 1 keys Ljava/util/Set;
1 11 2 lastException Ljava/lang/Exception;
2 10 3 it Ljava/util/Iterator;
4 9 4 key Ljava/security/PublicKey;
8 9 5 e Ljava/lang/Exception;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
crl
keys
protected static java.security.cert.X509CRL processCRLH(java.util.Set, java.security.PublicKey);
descriptor: (Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 9
3: StackMap locals: java.lang.Exception java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 4
start local 4 4: aload 4
aload 1
invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
5: aload 4
6: areturn
7: StackMap locals: java.util.Set java.security.PublicKey java.lang.Exception java.util.Iterator java.security.cert.X509CRL
StackMap stack: java.lang.Exception
astore 5
start local 5 8: aload 5
astore 2
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 10: aload 2
ifnull 12
11: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Cannot verify delta CRL."
aload 2
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 deltacrls Ljava/util/Set;
0 13 1 key Ljava/security/PublicKey;
1 13 2 lastException Ljava/lang/Exception;
2 10 3 it Ljava/util/Iterator;
4 9 4 crl Ljava/security/cert/X509CRL;
8 9 5 e Ljava/lang/Exception;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
deltacrls
key
protected static java.util.Set processCRLA1i(java.util.Date, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
descriptor: (Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 1: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 26
2: aconst_null
astore 5
start local 5 3: aload 2
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.FRESHEST_CRL: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.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
4: astore 5
5: goto 8
6: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.asn1.x509.CRLDistPoint
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 7: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Freshest CRL extension could not be decoded from certificate."
aload 6
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 8: StackMap locals:
StackMap stack:
aload 5
ifnonnull 15
9: aload 3
10: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
11: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
astore 5
12: goto 15
13: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 14: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Freshest CRL extension could not be decoded from CRL."
aload 6
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 15: StackMap locals:
StackMap stack:
aload 5
ifnull 26
16: aload 5
aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
17: goto 22
18: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 19: new org.bouncycastle.jce.provider.AnnotatedException
dup
20: ldc "No new delta CRL locations could be added from Freshest CRL extension."
aload 6
21: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 22: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
23: goto 26
24: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 25: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Exception obtaining delta CRLs."
aload 6
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 26: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 currentDate Ljava/util/Date;
0 27 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 27 2 cert Ljava/security/cert/X509Certificate;
0 27 3 crl Ljava/security/cert/X509CRL;
1 27 4 set Ljava/util/Set;
3 26 5 freshestCRL Lorg/bouncycastle/asn1/x509/CRLDistPoint;
7 8 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
14 15 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
19 22 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
25 26 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
3 5 6 Class org.bouncycastle.jce.provider.AnnotatedException
9 12 13 Class org.bouncycastle.jce.provider.AnnotatedException
16 17 18 Class org.bouncycastle.jce.provider.AnnotatedException
22 23 24 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
currentDate
paramsPKIX
cert
crl
protected static java.util.Set[] processCRLA1ii(java.util.Date, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
descriptor: (Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)[Ljava/util/Set;
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.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 1: new org.bouncycastle.x509.X509CRLStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
astore 5
start local 5 2: aload 5
aload 2
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
3: aload 5
aload 3
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.addIssuerName:([B)V
4: goto 7
5: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.x509.X509CRLStoreSelector
StackMap stack: java.io.IOException
astore 6
start local 6 6: new org.bouncycastle.jce.provider.AnnotatedException
dup
new java.lang.StringBuilder
dup
ldc "Cannot extract issuer from CRL."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 7: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCompleteCRLEnabled:(Z)V
8: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
aload 5
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 9: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 14
10: aload 4
aload 0
aload 1
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
11: goto 14
12: StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.x509.X509CRLStoreSelector java.util.Set
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 7
start local 7 13: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Exception obtaining delta CRLs."
aload 7
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 14: StackMap locals:
StackMap stack:
iconst_2
anewarray java.util.Set
dup
iconst_0
15: aload 6
aastore
dup
iconst_1
16: aload 4
aastore
17: areturn
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 18 0 currentDate Ljava/util/Date;
0 18 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 18 2 cert Ljava/security/cert/X509Certificate;
0 18 3 crl Ljava/security/cert/X509CRL;
1 18 4 deltaSet Ljava/util/Set;
2 18 5 crlselect Lorg/bouncycastle/x509/X509CRLStoreSelector;
6 7 6 e Ljava/io/IOException;
9 18 6 completeSet Ljava/util/Set;
13 14 7 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
10 11 12 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
currentDate
paramsPKIX
cert
crl
protected static void processCRLC(java.security.cert.X509CRL, java.security.cert.X509CRL, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 1
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
4: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
astore 3
5: goto 8
6: StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack: java.lang.Exception
astore 4
start local 4 7: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuing distribution point extension could not be decoded."
aload 4
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 8: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 54
9: aload 0
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
aload 1
invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 11
10: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Complete CRL issuer does not match delta CRL issuer."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 12: aload 0
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
13: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
astore 4
14: goto 19
15: StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack: java.lang.Exception
astore 5
start local 5 16: new org.bouncycastle.jce.provider.AnnotatedException
dup
17: ldc "Issuing distribution point extension from delta CRL could not be decoded."
aload 5
18: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 19: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 20: aload 3
ifnonnull 24
21: aload 4
ifnonnull 26
22: iconst_1
istore 5
23: goto 26
24: StackMap locals: int
StackMap stack:
aload 3
aload 4
invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.equals:(Ljava/lang/Object;)Z
ifeq 26
25: iconst_1
istore 5
26: StackMap locals:
StackMap stack:
iload 5
ifne 30
27: new org.bouncycastle.jce.provider.AnnotatedException
dup
28: ldc "Issuing distribution point extension from delta CRL and complete CRL does not match."
29: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 31: aload 1
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
32: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
astore 6
33: goto 38
34: StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.DERObject
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 7
start local 7 35: new org.bouncycastle.jce.provider.AnnotatedException
dup
36: ldc "Authority key identifier extension could not be extracted from complete CRL."
aload 7
37: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 38: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 39: aload 0
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
40: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
astore 7
41: goto 46
42: StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.DERObject
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 8
start local 8 43: new org.bouncycastle.jce.provider.AnnotatedException
dup
44: ldc "Authority key identifier extension could not be extracted from delta CRL."
aload 8
45: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 46: StackMap locals:
StackMap stack:
aload 6
ifnonnull 48
47: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "CRL authority key identifier is null."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
aload 7
ifnonnull 50
49: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Delta CRL authority key identifier is null."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 6
aload 7
invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
ifne 54
51: new org.bouncycastle.jce.provider.AnnotatedException
dup
52: ldc "Delta CRL authority key identifier does not match complete CRL authority key identifier."
53: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 54: StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 deltaCRL Ljava/security/cert/X509CRL;
0 55 1 completeCRL Ljava/security/cert/X509CRL;
0 55 2 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
3 55 3 completeidp Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
7 8 4 e Ljava/lang/Exception;
12 54 4 deltaidp Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
16 19 5 e Ljava/lang/Exception;
20 54 5 match Z
31 54 6 completeKeyIdentifier Lorg/bouncycastle/asn1/DERObject;
35 38 7 e Lorg/bouncycastle/jce/provider/AnnotatedException;
39 54 7 deltaKeyIdentifier Lorg/bouncycastle/asn1/DERObject;
43 46 8 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
12 14 15 Class java.lang.Exception
31 33 34 Class org.bouncycastle.jce.provider.AnnotatedException
39 41 42 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
deltaCRL
completeCRL
pkixParams
protected static void processCRLI(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.x509.ExtendedPKIXParameters);
descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 2
aload 1
ifnull 2
1: aload 0
aload 1
aload 2
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
2: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 validDate Ljava/util/Date;
0 3 1 deltacrl Ljava/security/cert/X509CRL;
0 3 2 cert Ljava/lang/Object;
0 3 3 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
0 3 4 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
validDate
deltacrl
cert
certStatus
pkixParams
protected static void processCRLJ(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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 2
1: aload 0
aload 1
aload 2
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 validDate Ljava/util/Date;
0 3 1 completecrl Ljava/security/cert/X509CRL;
0 3 2 cert Ljava/lang/Object;
0 3 3 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
validDate
completecrl
cert
certStatus
protected static org.bouncycastle.jce.provider.PKIXPolicyNode prepareCertB(java.security.cert.CertPath, int, java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode, int);
descriptor: (Ljava/security/cert/CertPath;I[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;I)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=25, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 5
start local 5 1: aload 5
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 2: aload 5
invokeinterface java.util.List.size:()I
istore 7
start local 7 3: iload 7
iload 1
isub
istore 8
start local 8 4: aconst_null
astore 9
start local 9 5: aload 6
6: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
7: 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
8: goto 13
9: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 10
start local 10 10: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy mappings extension could not be decoded."
aload 10
aload 0
11: iload 1
12: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 10 13: StackMap locals:
StackMap stack:
aload 3
astore 10
start local 10 14: aload 9
ifnull 120
15: aload 9
astore 11
start local 11 16: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 12
start local 12 17: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 13
start local 13 18: iconst_0
istore 14
start local 14 19: goto 32
20: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set int
StackMap stack:
aload 11
iload 14
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 15
start local 15 21: aload 15
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 16
start local 16 22: aload 15
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 17
start local 17 23: aload 12
aload 16
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 29
24: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 18
start local 18 25: aload 18
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
26: aload 12
aload 16
aload 18
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 13
aload 16
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: goto 31
end local 18 29: StackMap locals: org.bouncycastle.asn1.ASN1Sequence java.lang.String java.lang.String
StackMap stack:
aload 12
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 18
start local 18 30: aload 18
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 17 end local 16 end local 15 31: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
32: iload 14
aload 11
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
if_icmplt 20
end local 14 33: aload 13
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
start local 14 34: goto 119
35: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 15
start local 15 36: iload 4
ifle 95
37: iconst_0
istore 16
start local 16 38: aload 2
iload 8
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
start local 17 39: goto 45
40: StackMap locals: java.lang.String int java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 18
start local 18 41: aload 18
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
aload 15
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 45
42: iconst_1
istore 16
43: aload 18
aload 12
aload 15
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;
44: goto 46
end local 18 45: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
46: StackMap locals:
StackMap stack:
iload 16
ifne 119
47: aload 2
iload 8
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
48: goto 93
49: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 18
start local 18 50: ldc "2.5.29.32.0"
aload 18
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 93
51: aconst_null
astore 19
start local 19 52: aconst_null
astore 20
start local 20 53: aload 6
54: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
55: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 20
56: goto 61
57: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String int java.util.Iterator org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 21
start local 21 58: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
59: ldc "Certificate policies extension could not be decoded."
aload 21
aload 0
iload 1
60: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 21 61: StackMap locals:
StackMap stack:
aload 20
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 21
start local 21 62: goto 79
63: StackMap locals: java.util.Enumeration
StackMap stack:
aconst_null
astore 22
start local 22 64: aload 21
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
astore 22
65: goto 70
66: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String 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 23
start local 23 67: new java.security.cert.CertPathValidatorException
dup
68: ldc "Policy information could not be decoded."
aload 23
aload 0
iload 1
69: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 23 70: StackMap locals:
StackMap stack:
ldc "2.5.29.32.0"
aload 22
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 79
71: aload 22
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;
72: astore 19
73: goto 80
74: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 23
start local 23 75: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
76: ldc "Policy qualifier info set could not be decoded."
aload 23
aload 0
77: iload 1
78: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 23 end local 22 79: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 63
80: StackMap locals:
StackMap stack:
iconst_0
istore 22
start local 22 81: aload 6
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
ifnull 85
82: aload 6
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
83: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
84: invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 22
85: StackMap locals: int
StackMap stack:
aload 18
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 23
start local 23 86: ldc "2.5.29.32.0"
aload 23
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 119
87: new org.bouncycastle.jce.provider.PKIXPolicyNode
dup
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
iload 8
aload 12
88: aload 15
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
aload 23
aload 19
aload 15
iload 22
89: 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 24
start local 24 90: aload 23
aload 24
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
91: aload 2
iload 8
aaload
aload 24
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 24 92: goto 119
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 93: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String int java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
end local 17 end local 16 94: goto 119
95: StackMap locals:
StackMap stack:
iload 4
ifgt 119
96: aload 2
iload 8
aaload
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
start local 16 97: goto 118
98: StackMap locals: java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 17
start local 17 99: aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
aload 15
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 118
100: aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 18
start local 18 101: aload 18
aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.removeChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
102: aload 16
invokeinterface java.util.Iterator.remove:()V
103: iload 8
iconst_1
isub
istore 19
start local 19 104: goto 117
105: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.jce.provider.PKIXPolicyNode int
StackMap stack:
aload 2
iload 19
aaload
astore 20
start local 20 106: iconst_0
istore 21
start local 21 107: goto 115
108: StackMap locals: java.util.List int
StackMap stack:
aload 20
iload 21
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 22
start local 22 109: aload 22
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifne 114
110: aload 10
aload 2
aload 22
111: 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 10
112: aload 10
ifnonnull 114
113: goto 116
end local 22 114: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
115: iload 21
aload 20
invokeinterface java.util.List.size:()I
if_icmplt 108
end local 21 end local 20 116: StackMap locals:
StackMap stack:
iinc 19 -1
StackMap locals:
StackMap stack:
117: iload 19
ifge 105
end local 19 end local 18 end local 17 118: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 98
end local 16 end local 15 119: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
end local 14 end local 13 end local 12 end local 11 120: StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode
StackMap stack:
aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 121 0 certPath Ljava/security/cert/CertPath;
0 121 1 index I
0 121 2 policyNodes [Ljava/util/List;
0 121 3 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
0 121 4 policyMapping I
1 121 5 certs Ljava/util/List;
2 121 6 cert Ljava/security/cert/X509Certificate;
3 121 7 n I
4 121 8 i I
5 121 9 pm Lorg/bouncycastle/asn1/ASN1Sequence;
10 13 10 ex Lorg/bouncycastle/jce/provider/AnnotatedException;
14 121 10 _validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
16 120 11 mappings Lorg/bouncycastle/asn1/ASN1Sequence;
17 120 12 m_idp Ljava/util/Map;
18 120 13 s_idp Ljava/util/Set;
19 33 14 j I
21 31 15 mapping Lorg/bouncycastle/asn1/ASN1Sequence;
22 31 16 id_p Ljava/lang/String;
23 31 17 sd_p Ljava/lang/String;
25 29 18 tmp Ljava/util/Set;
30 31 18 tmp Ljava/util/Set;
34 120 14 it_idp Ljava/util/Iterator;
36 119 15 id_p Ljava/lang/String;
38 94 16 idp_found Z
39 94 17 nodes_i Ljava/util/Iterator;
41 45 18 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
50 93 18 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
52 93 19 pq Ljava/util/Set;
53 93 20 policies Lorg/bouncycastle/asn1/ASN1Sequence;
58 61 21 e Lorg/bouncycastle/jce/provider/AnnotatedException;
62 93 21 e Ljava/util/Enumeration;
64 79 22 pinfo Lorg/bouncycastle/asn1/x509/PolicyInformation;
67 70 23 ex Ljava/lang/Exception;
75 79 23 ex Ljava/security/cert/CertPathValidatorException;
81 93 22 ci Z
86 93 23 p_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
90 92 24 c_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
97 119 16 nodes_i Ljava/util/Iterator;
99 118 17 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
101 118 18 p_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
104 118 19 k I
106 116 20 nodes Ljava/util/List;
107 116 21 l I
109 114 22 node2 Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
Exception table:
from to target type
5 8 9 Class org.bouncycastle.jce.provider.AnnotatedException
53 56 57 Class org.bouncycastle.jce.provider.AnnotatedException
64 65 66 Class java.lang.Exception
71 73 74 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
policyNodes
validPolicyTree
policyMapping
protected static void prepareNextCertA(java.security.cert.CertPath, int);
descriptor: (Ljava/security/cert/CertPath;I)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 2
start local 2 1: aload 2
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 3
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
5: 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 4
6: goto 11
7: StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 5
start local 5 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy mappings extension could not be decoded."
aload 5
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 4
ifnull 31
12: aload 4
astore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 30
15: StackMap locals: org.bouncycastle.asn1.ASN1Sequence int
StackMap stack:
aconst_null
astore 7
start local 7 16: aconst_null
astore 8
start local 8 17: aload 5
iload 6
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 9
start local 9 18: aload 9
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.DERObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
astore 7
19: aload 9
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
invokestatic org.bouncycastle.asn1.DERObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
astore 8
end local 9 20: goto 25
21: StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack: java.lang.Exception
astore 9
start local 9 22: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy mappings extension contents could not be decoded."
23: aload 9
aload 0
iload 1
24: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 25: StackMap locals:
StackMap stack:
ldc "2.5.29.32.0"
aload 7
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
26: new java.security.cert.CertPathValidatorException
dup
ldc "IssuerDomainPolicy is anyPolicy"
aconst_null
aload 0
iload 1
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
27: StackMap locals:
StackMap stack:
ldc "2.5.29.32.0"
aload 8
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: new java.security.cert.CertPathValidatorException
dup
ldc "SubjectDomainPolicy is anyPolicy,"
aconst_null
aload 0
iload 1
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 8 end local 7 29: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
aload 5
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
if_icmplt 15
end local 6 end local 5 31: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 certPath Ljava/security/cert/CertPath;
0 32 1 index I
1 32 2 certs Ljava/util/List;
2 32 3 cert Ljava/security/cert/X509Certificate;
3 32 4 pm Lorg/bouncycastle/asn1/ASN1Sequence;
8 11 5 ex Lorg/bouncycastle/jce/provider/AnnotatedException;
13 31 5 mappings Lorg/bouncycastle/asn1/ASN1Sequence;
14 31 6 j I
16 29 7 issuerDomainPolicy Lorg/bouncycastle/asn1/DERObjectIdentifier;
17 29 8 subjectDomainPolicy Lorg/bouncycastle/asn1/DERObjectIdentifier;
18 20 9 mapping Lorg/bouncycastle/asn1/ASN1Sequence;
22 25 9 e Ljava/lang/Exception;
Exception table:
from to target type
3 6 7 Class org.bouncycastle.jce.provider.AnnotatedException
17 20 21 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
protected static void processCertF(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXPolicyNode, int);
descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXPolicyNode;I)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifgt 4
aload 2
ifnonnull 4
1: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "No valid policy tree found when one expected."
aconst_null
aload 0
2: iload 1
3: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 certPath Ljava/security/cert/CertPath;
0 5 1 index I
0 5 2 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
0 5 3 explicitPolicy I
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
validPolicyTree
explicitPolicy
protected static org.bouncycastle.jce.provider.PKIXPolicyNode processCertE(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXPolicyNode);
descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
5: 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 5
6: goto 11
7: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 6
start local 6 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Could not read certificate policies extension from certificate."
9: aload 6
aload 0
iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ifnonnull 13
12: aconst_null
astore 2
13: StackMap locals:
StackMap stack:
aload 2
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 14 0 certPath Ljava/security/cert/CertPath;
0 14 1 index I
0 14 2 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
1 14 3 certs Ljava/util/List;
2 14 4 cert Ljava/security/cert/X509Certificate;
3 14 5 certPolicies Lorg/bouncycastle/asn1/ASN1Sequence;
8 11 6 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
3 6 7 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
validPolicyTree
protected static void processCertBC(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXNameConstraintValidator);
descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aload 3
invokeinterface java.util.List.size:()I
istore 5
start local 5 3: iload 5
iload 1
isub
istore 6
start local 6 4: aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifeq 5
iload 6
iload 5
if_icmplt 61
5: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int
StackMap stack:
aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getSubjectPrincipal:(Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
astore 7
start local 7 6: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 7
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 8
start local 8 7: aload 8
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 9
start local 9 8: goto 13
end local 9 9: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream
StackMap stack: java.lang.Exception
astore 10
start local 10 10: new java.security.cert.CertPathValidatorException
dup
ldc "Exception extracting subject name when checking subtrees."
aload 10
11: aload 0
iload 1
12: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 10 start local 9 13: StackMap locals: org.bouncycastle.asn1.ASN1Sequence
StackMap stack:
aload 2
aload 9
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
14: aload 2
aload 9
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
15: goto 20
16: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
astore 10
start local 10 17: new java.security.cert.CertPathValidatorException
dup
ldc "Subtree check for certificate subject failed."
aload 10
aload 0
18: iload 1
19: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 10 20: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 21: aload 4
22: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
23: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
astore 10
24: goto 29
25: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames
StackMap stack: java.lang.Exception
astore 11
start local 11 26: new java.security.cert.CertPathValidatorException
dup
ldc "Subject alternative name extension could not be decoded."
aload 11
27: aload 0
iload 1
28: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 11 29: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.x509.X509Name
dup
aload 9
invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
getstatic org.bouncycastle.asn1.x509.X509Name.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.x509.X509Name.getValues:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Ljava/util/Vector;
astore 11
start local 11 30: aload 11
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 12
start local 12 31: goto 41
32: StackMap locals: java.util.Vector java.util.Enumeration
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 33: new org.bouncycastle.asn1.x509.GeneralName
dup
iconst_1
aload 13
invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILjava/lang/String;)V
astore 14
start local 14 34: aload 2
aload 14
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermitted:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
35: aload 2
aload 14
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcluded:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
36: goto 41
37: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames java.util.Vector java.util.Enumeration java.lang.String org.bouncycastle.asn1.x509.GeneralName
StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
astore 15
start local 15 38: new java.security.cert.CertPathValidatorException
dup
39: ldc "Subtree check for certificate subject alternative email failed."
aload 15
aload 0
iload 1
40: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 15 end local 14 end local 13 41: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 32
end local 12 42: aload 10
ifnull 61
43: aconst_null
astore 12
start local 12 44: aload 10
invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
astore 12
45: goto 50
46: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames java.util.Vector org.bouncycastle.asn1.x509.GeneralName[]
StackMap stack: java.lang.Exception
astore 13
start local 13 47: new java.security.cert.CertPathValidatorException
dup
ldc "Subject alternative name contents could not be decoded."
aload 13
48: aload 0
iload 1
49: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 13 50: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 51: goto 60
52: StackMap locals: int
StackMap stack:
aload 2
aload 12
iload 13
aaload
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermitted:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
53: aload 2
aload 12
iload 13
aaload
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcluded:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
54: goto 59
55: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
astore 14
start local 14 56: new java.security.cert.CertPathValidatorException
dup
57: ldc "Subtree check for certificate subject alternative name failed."
aload 14
aload 0
iload 1
58: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 14 59: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
60: iload 13
aload 12
arraylength
if_icmplt 52
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 61: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int
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 62 0 certPath Ljava/security/cert/CertPath;
0 62 1 index I
0 62 2 nameConstraintValidator Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
1 62 3 certs Ljava/util/List;
2 62 4 cert Ljava/security/cert/X509Certificate;
3 62 5 n I
4 62 6 i I
6 61 7 principal Ljavax/security/auth/x500/X500Principal;
7 61 8 aIn Lorg/bouncycastle/asn1/ASN1InputStream;
8 9 9 dns Lorg/bouncycastle/asn1/ASN1Sequence;
13 61 9 dns Lorg/bouncycastle/asn1/ASN1Sequence;
10 13 10 e Ljava/lang/Exception;
17 20 10 e Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
21 61 10 altName Lorg/bouncycastle/asn1/x509/GeneralNames;
26 29 11 e Ljava/lang/Exception;
30 61 11 emails Ljava/util/Vector;
31 42 12 e Ljava/util/Enumeration;
33 41 13 email Ljava/lang/String;
34 41 14 emailAsGeneralName Lorg/bouncycastle/asn1/x509/GeneralName;
38 41 15 ex Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
44 61 12 genNames [Lorg/bouncycastle/asn1/x509/GeneralName;
47 50 13 e Ljava/lang/Exception;
51 61 13 j I
56 59 14 e Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
13 15 16 Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
21 24 25 Class java.lang.Exception
34 36 37 Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
44 45 46 Class java.lang.Exception
52 54 55 Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
nameConstraintValidator
protected static org.bouncycastle.jce.provider.PKIXPolicyNode processCertD(java.security.cert.CertPath, int, java.util.Set, org.bouncycastle.jce.provider.PKIXPolicyNode, java.util.List[], int);
descriptor: (Ljava/security/cert/CertPath;ILjava/util/Set;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;I)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=25, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 6
start local 6 1: aload 6
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 7
start local 7 2: aload 6
invokeinterface java.util.List.size:()I
istore 8
start local 8 3: iload 8
iload 1
isub
istore 9
start local 9 4: aconst_null
astore 10
start local 10 5: aload 7
6: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
7: 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 10
8: goto 13
9: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 11
start local 11 10: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Could not read certificate policies extension from certificate."
11: aload 11
aload 0
iload 1
12: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 11 13: StackMap locals:
StackMap stack:
aload 10
ifnull 111
aload 3
ifnull 111
14: aload 10
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 11
start local 11 15: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 12
start local 12 16: goto 31
17: StackMap locals: java.util.Enumeration java.util.Set
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
astore 13
start local 13 18: aload 13
invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyIdentifier:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
astore 14
start local 14 19: aload 12
aload 14
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
20: ldc "2.5.29.32.0"
aload 14
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
21: aconst_null
astore 15
start local 15 22: aload 13
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 15
23: goto 28
24: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation org.bouncycastle.asn1.DERObjectIdentifier java.util.Set
StackMap stack: java.security.cert.CertPathValidatorException
astore 16
start local 16 25: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy qualifier info set could not be build."
aload 16
26: aload 0
iload 1
27: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 16 28: StackMap locals:
StackMap stack:
iload 9
aload 4
aload 14
aload 15
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.processCertD1i:(I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)Z
istore 16
start local 16 29: iload 16
ifne 31
30: iload 9
aload 4
aload 14
aload 15
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.processCertD1ii:(I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)V
end local 16 end local 15 end local 14 end local 13 31: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 17
32: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifne 33
aload 2
ldc "2.5.29.32.0"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 36
33: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Set.clear:()V
34: aload 2
aload 12
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
35: goto 45
36: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
start local 13 37: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 14
start local 14 38: goto 42
39: StackMap locals: java.util.Iterator java.util.Set
StackMap stack:
aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 15
start local 15 40: aload 12
aload 15
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 42
41: aload 14
aload 15
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 15 42: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
43: aload 2
invokeinterface java.util.Set.clear:()V
44: aload 2
aload 14
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 14 end local 13 45: StackMap locals:
StackMap stack:
iload 5
ifgt 46
iload 9
iload 8
if_icmpge 83
aload 7
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifeq 83
46: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 11
47: goto 82
48: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
astore 13
start local 13 49: ldc "2.5.29.32.0"
aload 13
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 82
50: aload 13
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 14
start local 14 51: aload 4
iload 9
iconst_1
isub
aaload
astore 15
start local 15 52: iconst_0
istore 16
start local 16 53: goto 80
54: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation java.util.Set java.util.List int
StackMap stack:
aload 15
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 17
start local 17 55: aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getExpectedPolicies:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 18
start local 18 56: goto 78
57: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 19
start local 19 58: aload 19
instanceof java.lang.String
ifeq 61
59: aload 19
checkcast java.lang.String
astore 20
start local 20 60: goto 63
end local 20 61: StackMap locals: java.lang.Object
StackMap stack:
aload 19
instanceof org.bouncycastle.asn1.DERObjectIdentifier
ifeq 78
62: aload 19
checkcast org.bouncycastle.asn1.DERObjectIdentifier
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 20
start local 20 63: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 21
start local 21 64: aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
astore 22
start local 22 65: goto 69
66: StackMap locals: int java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 23
start local 23 67: aload 20
aload 23
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 69
68: iconst_1
istore 21
end local 23 69: StackMap locals:
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 66
70: iload 21
ifne 78
71: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 23
start local 23 72: aload 23
aload 20
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
73: new org.bouncycastle.jce.provider.PKIXPolicyNode
dup
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
iload 9
74: aload 23
aload 17
aload 14
aload 20
iconst_0
75: 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 24
start local 24 76: aload 17
aload 24
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
77: aload 4
iload 9
aaload
aload 24
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 78: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation java.util.Set java.util.List int org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
end local 18 end local 17 79: iinc 16 1
StackMap locals:
StackMap stack:
80: iload 16
aload 15
invokeinterface java.util.List.size:()I
if_icmplt 54
end local 16 81: goto 83
end local 15 end local 14 end local 13 82: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 48
83: StackMap locals:
StackMap stack:
aload 3
astore 13
start local 13 84: iload 9
iconst_1
isub
istore 14
start local 14 85: goto 99
86: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode int
StackMap stack:
aload 4
iload 14
aaload
astore 15
start local 15 87: iconst_0
istore 16
start local 16 88: goto 97
89: StackMap locals: java.util.List int
StackMap stack:
aload 15
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 17
start local 17 90: aload 17
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifne 96
91: aload 13
aload 4
92: aload 17
93: 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 13
94: aload 13
ifnonnull 96
95: goto 98
end local 17 96: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
97: iload 16
aload 15
invokeinterface java.util.List.size:()I
if_icmplt 89
end local 16 end local 15 98: StackMap locals:
StackMap stack:
iinc 14 -1
StackMap locals:
StackMap stack:
99: iload 14
ifge 86
end local 14 100: aload 7
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 14
start local 14 101: aload 14
ifnull 110
102: aload 14
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 15
start local 15 103: aload 4
iload 9
aaload
astore 16
start local 16 104: iconst_0
istore 17
start local 17 105: goto 109
106: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int java.util.List int
StackMap stack:
aload 16
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 18
start local 18 107: aload 18
iload 15
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.setCritical:(Z)V
end local 18 108: iinc 17 1
StackMap locals:
StackMap stack:
109: iload 17
aload 16
invokeinterface java.util.List.size:()I
if_icmplt 106
end local 17 end local 16 end local 15 110: StackMap locals:
StackMap stack:
aload 13
areturn
end local 14 end local 13 end local 12 end local 11 111: StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
StackMap stack:
aconst_null
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 112 0 certPath Ljava/security/cert/CertPath;
0 112 1 index I
0 112 2 acceptablePolicies Ljava/util/Set;
0 112 3 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
0 112 4 policyNodes [Ljava/util/List;
0 112 5 inhibitAnyPolicy I
1 112 6 certs Ljava/util/List;
2 112 7 cert Ljava/security/cert/X509Certificate;
3 112 8 n I
4 112 9 i I
5 112 10 certPolicies Lorg/bouncycastle/asn1/ASN1Sequence;
10 13 11 e Lorg/bouncycastle/jce/provider/AnnotatedException;
15 111 11 e Ljava/util/Enumeration;
16 111 12 pols Ljava/util/Set;
18 31 13 pInfo Lorg/bouncycastle/asn1/x509/PolicyInformation;
19 31 14 pOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
22 31 15 pq Ljava/util/Set;
25 28 16 ex Ljava/security/cert/CertPathValidatorException;
29 31 16 match Z
37 45 13 it Ljava/util/Iterator;
38 45 14 t1 Ljava/util/Set;
40 42 15 o Ljava/lang/Object;
49 82 13 pInfo Lorg/bouncycastle/asn1/x509/PolicyInformation;
51 82 14 _apq Ljava/util/Set;
52 82 15 _nodes Ljava/util/List;
53 81 16 k I
55 79 17 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
56 79 18 _policySetIter Ljava/util/Iterator;
58 78 19 _tmp Ljava/lang/Object;
60 61 20 _policy Ljava/lang/String;
63 78 20 _policy Ljava/lang/String;
64 78 21 _found Z
65 78 22 _childrenIter Ljava/util/Iterator;
67 69 23 _child Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
72 78 23 _newChildExpectedPolicies Ljava/util/Set;
76 78 24 _newChild Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
84 111 13 _validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
85 100 14 j I
87 98 15 nodes Ljava/util/List;
88 98 16 k I
90 96 17 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
101 111 14 criticalExtensionOids Ljava/util/Set;
103 110 15 critical Z
104 110 16 nodes Ljava/util/List;
105 110 17 j I
107 108 18 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
Exception table:
from to target type
5 8 9 Class org.bouncycastle.jce.provider.AnnotatedException
22 23 24 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
acceptablePolicies
validPolicyTree
policyNodes
inhibitAnyPolicy
protected static void processCertA(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters, int, java.security.PublicKey, boolean, javax.security.auth.x500.X500Principal, java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;ILjava/security/PublicKey;ZLjavax/security/auth/x500/X500Principal;Ljava/security/cert/X509Certificate;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 7
start local 7 1: aload 7
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 8
start local 8 2: iload 4
ifne 9
3: aload 8
aload 3
4: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getSigProvider:()Ljava/lang/String;
5: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.verifyX509Certificate:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/lang/String;)V
6: goto 9
7: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters int java.security.PublicKey int javax.security.auth.x500.X500Principal java.security.cert.X509Certificate java.util.List java.security.cert.X509Certificate
StackMap stack: java.security.GeneralSecurityException
astore 9
start local 9 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Could not validate certificate signature."
aload 9
aload 0
iload 2
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 9: StackMap locals:
StackMap stack:
aload 8
10: aload 1
aload 0
iload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidCertDateFromValidityModel:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
11: invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
12: goto 19
13: StackMap locals:
StackMap stack: java.security.cert.CertificateExpiredException
astore 9
start local 9 14: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
new java.lang.StringBuilder
dup
ldc "Could not validate certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.security.cert.CertificateExpiredException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
aload 0
iload 2
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 15: StackMap locals:
StackMap stack: java.security.cert.CertificateNotYetValidException
astore 9
start local 9 16: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
new java.lang.StringBuilder
dup
ldc "Could not validate certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.security.cert.CertificateNotYetValidException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
aload 0
iload 2
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 17: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 9
start local 9 18: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Could not validate time of certificate."
aload 9
aload 0
iload 2
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 19: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isRevocationEnabled:()Z
ifeq 31
20: aload 1
aload 8
aload 1
21: aload 0
iload 2
22: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidCertDateFromValidityModel:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
23: aload 6
aload 3
aload 7
24: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRLs:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/List;)V
25: goto 31
26: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 9
start local 9 27: aload 9
astore 10
start local 10 28: aload 9
invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getCause:()Ljava/lang/Throwable;
ifnull 30
29: aload 9
invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getCause:()Ljava/lang/Throwable;
astore 10
30: StackMap locals: org.bouncycastle.jce.provider.AnnotatedException java.lang.Throwable
StackMap stack:
new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
aload 9
invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getMessage:()Ljava/lang/String;
aload 10
aload 0
iload 2
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 10 end local 9 31: StackMap locals:
StackMap stack:
aload 8
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
aload 5
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 36
32: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
new java.lang.StringBuilder
dup
ldc "IssuerName("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
33: ldc ") does not match SubjectName("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") of signing certificate."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
34: aload 0
iload 2
35: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
36: StackMap locals:
StackMap stack:
return
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 37 0 certPath Ljava/security/cert/CertPath;
0 37 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 37 2 index I
0 37 3 workingPublicKey Ljava/security/PublicKey;
0 37 4 verificationAlreadyPerformed Z
0 37 5 workingIssuerName Ljavax/security/auth/x500/X500Principal;
0 37 6 sign Ljava/security/cert/X509Certificate;
1 37 7 certs Ljava/util/List;
2 37 8 cert Ljava/security/cert/X509Certificate;
8 9 9 e Ljava/security/GeneralSecurityException;
14 15 9 e Ljava/security/cert/CertificateExpiredException;
16 17 9 e Ljava/security/cert/CertificateNotYetValidException;
18 19 9 e Lorg/bouncycastle/jce/provider/AnnotatedException;
27 31 9 e Lorg/bouncycastle/jce/provider/AnnotatedException;
28 31 10 cause Ljava/lang/Throwable;
Exception table:
from to target type
3 6 7 Class java.security.GeneralSecurityException
9 12 13 Class java.security.cert.CertificateExpiredException
9 12 15 Class java.security.cert.CertificateNotYetValidException
9 12 17 Class org.bouncycastle.jce.provider.AnnotatedException
20 25 26 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.exception.ExtCertPathValidatorException
MethodParameters:
Name Flags
certPath
paramsPKIX
index
workingPublicKey
verificationAlreadyPerformed
workingIssuerName
sign
protected static int prepareNextCertI1(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
5: 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 5
6: goto 11
7: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack: java.lang.Exception
astore 6
start local 6 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy constraints extension cannot be decoded."
aload 6
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ifnull 25
12: aload 5
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 7
start local 7 13: goto 24
14: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence top java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.ASN1TaggedObject.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1TaggedObject;
astore 8
start local 8 15: aload 8
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
ifne 24
16: aload 8
iconst_0
invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 6
start local 6 17: iload 6
iload 2
if_icmpge 25
18: iload 6
19: ireturn
end local 8 end local 6 20: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 8
start local 8 21: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy constraints extension contents cannot be decoded."
22: aload 8
aload 0
iload 1
23: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 8 24: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 14
end local 7 25: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack:
iload 2
ireturn
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 26 0 certPath Ljava/security/cert/CertPath;
0 26 1 index I
0 26 2 explicitPolicy I
1 26 3 certs Ljava/util/List;
2 26 4 cert Ljava/security/cert/X509Certificate;
3 26 5 pc Lorg/bouncycastle/asn1/ASN1Sequence;
8 11 6 e Ljava/lang/Exception;
17 20 6 tmpInt I
13 25 7 policyConstraints Ljava/util/Enumeration;
15 20 8 constraint Lorg/bouncycastle/asn1/ASN1TaggedObject;
21 24 8 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
14 19 20 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
explicitPolicy
protected static int prepareNextCertI2(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
5: 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 5
6: goto 11
7: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack: java.lang.Exception
astore 6
start local 6 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy constraints extension cannot be decoded."
aload 6
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ifnull 25
12: aload 5
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 7
start local 7 13: goto 24
14: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence top java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.ASN1TaggedObject.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1TaggedObject;
astore 8
start local 8 15: aload 8
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
iconst_1
if_icmpne 24
16: aload 8
iconst_0
invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 6
start local 6 17: iload 6
iload 2
if_icmpge 25
18: iload 6
19: ireturn
end local 8 end local 6 20: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 8
start local 8 21: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy constraints extension contents cannot be decoded."
22: aload 8
aload 0
iload 1
23: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 8 24: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 14
end local 7 25: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
StackMap stack:
iload 2
ireturn
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 26 0 certPath Ljava/security/cert/CertPath;
0 26 1 index I
0 26 2 policyMapping I
1 26 3 certs Ljava/util/List;
2 26 4 cert Ljava/security/cert/X509Certificate;
3 26 5 pc Lorg/bouncycastle/asn1/ASN1Sequence;
8 11 6 e Ljava/lang/Exception;
17 20 6 tmpInt I
13 25 7 policyConstraints Ljava/util/Enumeration;
15 20 8 constraint Lorg/bouncycastle/asn1/ASN1TaggedObject;
21 24 8 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
14 19 20 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
policyMapping
protected static void prepareNextCertG(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXNameConstraintValidator);
descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
5: 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 6
start local 6 6: aload 6
ifnull 13
7: new org.bouncycastle.asn1.x509.NameConstraints
dup
aload 6
invokespecial org.bouncycastle.asn1.x509.NameConstraints.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 5
end local 6 8: goto 13
9: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.NameConstraints
StackMap stack: java.lang.Exception
astore 6
start local 6 10: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Name constraints extension could not be decoded."
aload 6
aload 0
11: iload 1
12: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 13: StackMap locals:
StackMap stack:
aload 5
ifnull 34
14: aload 5
invokevirtual org.bouncycastle.asn1.x509.NameConstraints.getPermittedSubtrees:()Lorg/bouncycastle/asn1/ASN1Sequence;
astore 6
start local 6 15: aload 6
ifnull 22
16: aload 2
aload 6
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectPermittedSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
17: goto 22
18: StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.NameConstraints org.bouncycastle.asn1.ASN1Sequence
StackMap stack: java.lang.Exception
astore 7
start local 7 19: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
20: ldc "Permitted subtrees cannot be build from name constraints extension."
aload 7
aload 0
iload 1
21: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 7 22: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.bouncycastle.asn1.x509.NameConstraints.getExcludedSubtrees:()Lorg/bouncycastle/asn1/ASN1Sequence;
astore 7
start local 7 23: aload 7
ifnull 34
24: aload 7
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 8
start local 8 25: goto 28
26: StackMap locals: org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.x509.GeneralSubtree.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralSubtree;
astore 9
start local 9 27: aload 2
aload 9
invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.addExcludedSubtree:(Lorg/bouncycastle/asn1/x509/GeneralSubtree;)V
end local 9 28: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 26
29: goto 34
30: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 31: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
32: ldc "Excluded subtrees cannot be build from name constraints extension."
aload 9
aload 0
iload 1
33: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 end local 8 end local 7 end local 6 34: 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 35 0 certPath Ljava/security/cert/CertPath;
0 35 1 index I
0 35 2 nameConstraintValidator Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
1 35 3 certs Ljava/util/List;
2 35 4 cert Ljava/security/cert/X509Certificate;
3 35 5 nc Lorg/bouncycastle/asn1/x509/NameConstraints;
6 8 6 ncSeq Lorg/bouncycastle/asn1/ASN1Sequence;
10 13 6 e Ljava/lang/Exception;
15 34 6 permitted Lorg/bouncycastle/asn1/ASN1Sequence;
19 22 7 ex Ljava/lang/Exception;
23 34 7 excluded Lorg/bouncycastle/asn1/ASN1Sequence;
25 34 8 e Ljava/util/Enumeration;
27 28 9 subtree Lorg/bouncycastle/asn1/x509/GeneralSubtree;
31 34 9 ex Ljava/lang/Exception;
Exception table:
from to target type
3 8 9 Class java.lang.Exception
16 17 18 Class java.lang.Exception
25 29 30 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
nameConstraintValidator
private static void checkCRL(org.bouncycastle.asn1.x509.DistributionPoint, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.jce.provider.ReasonsMask, java.util.List);
descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=20, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.util.Date.<init>:(J)V
astore 9
start local 9 1: aload 3
invokevirtual java.util.Date.getTime:()J
aload 9
invokevirtual java.util.Date.getTime:()J
lcmp
ifle 3
2: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Validation time is in future."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.util.Date
StackMap stack:
aload 0
aload 2
aload 9
aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCompleteCRLs:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/util/Set;
astore 10
start local 10 4: iconst_0
istore 11
start local 11 5: aconst_null
astore 12
start local 12 6: aload 10
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
start local 13 7: goto 50
8: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 14
start local 14 9: aload 14
aload 0
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLD:(Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
astore 15
start local 15 10: aload 15
aload 7
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.hasNewReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Z
ifne 12
11: goto 50
12: StackMap locals: java.security.cert.X509CRL org.bouncycastle.jce.provider.ReasonsMask
StackMap stack:
aload 14
aload 2
aload 4
aload 5
13: aload 1
aload 8
14: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLF:(Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
astore 16
start local 16 15: aload 14
aload 16
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLG:(Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
astore 17
start local 17 16: aconst_null
astore 18
start local 18 17: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
ifeq 20
18: aload 9
aload 1
aload 14
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
astore 19
start local 19 19: aload 19
aload 17
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLH:(Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
astore 18
end local 19 20: StackMap locals: java.util.Set java.security.PublicKey java.security.cert.X509CRL
StackMap stack:
aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getValidityModel:()I
iconst_1
if_icmpeq 23
21: aload 2
invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
aload 14
invokevirtual java.security.cert.X509CRL.getThisUpdate:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifge 23
22: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "No valid CRL for current time found."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 14
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB1:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
24: aload 0
aload 2
aload 14
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB2:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
25: aload 18
aload 14
aload 1
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLC:(Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
26: aload 3
aload 18
aload 2
aload 6
aload 1
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLI:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
27: aload 3
aload 14
aload 2
aload 6
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLJ:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
28: aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 8
if_icmpne 30
29: aload 6
bipush 11
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
30: StackMap locals:
StackMap stack:
aload 7
aload 15
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.addReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)V
31: aload 14
invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 19
start local 19 32: aload 19
ifnull 38
33: new java.util.HashSet
dup
aload 19
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 19
34: aload 19
getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
35: aload 19
getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
36: aload 19
invokeinterface java.util.Set.isEmpty:()Z
ifne 38
37: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "CRL contains unsupported critical extensions."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals: java.util.Set
StackMap stack:
aload 18
ifnull 46
39: aload 18
invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 19
40: aload 19
ifnull 46
41: new java.util.HashSet
dup
aload 19
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 19
42: aload 19
getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
43: aload 19
getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
44: aload 19
invokeinterface java.util.Set.isEmpty:()Z
ifne 46
45: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Delta CRL contains unsupported critical extension."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
iconst_1
istore 11
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 47: goto 50
48: StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 14
start local 14 49: aload 14
astore 12
end local 14 50: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 51
aload 6
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 51
aload 7
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifeq 8
51: StackMap locals:
StackMap stack:
iload 11
ifne 53
52: aload 12
athrow
53: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
0 54 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 54 2 cert Ljava/security/cert/X509Certificate;
0 54 3 validDate Ljava/util/Date;
0 54 4 defaultCRLSignCert Ljava/security/cert/X509Certificate;
0 54 5 defaultCRLSignKey Ljava/security/PublicKey;
0 54 6 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
0 54 7 reasonMask Lorg/bouncycastle/jce/provider/ReasonsMask;
0 54 8 certPathCerts Ljava/util/List;
1 54 9 currentDate Ljava/util/Date;
4 54 10 crls Ljava/util/Set;
5 54 11 validCrlFound Z
6 54 12 lastException Lorg/bouncycastle/jce/provider/AnnotatedException;
7 54 13 crl_iter Ljava/util/Iterator;
9 47 14 crl Ljava/security/cert/X509CRL;
10 47 15 interimReasonsMask Lorg/bouncycastle/jce/provider/ReasonsMask;
15 47 16 keys Ljava/util/Set;
16 47 17 key Ljava/security/PublicKey;
17 47 18 deltaCRL Ljava/security/cert/X509CRL;
19 20 19 deltaCRLs Ljava/util/Set;
32 47 19 criticalExtensions Ljava/util/Set;
49 50 14 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
8 11 48 Class org.bouncycastle.jce.provider.AnnotatedException
12 47 48 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
dp
paramsPKIX
cert
validDate
defaultCRLSignCert
defaultCRLSignKey
certStatus
reasonMask
certPathCerts
protected static void checkCRLs(org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.security.cert.X509Certificate, java.security.PublicKey, java.util.List);
descriptor: (Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/List;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=11, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aload 1
3: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
4: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
astore 7
5: goto 8
6: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint
StackMap stack: java.lang.Exception
astore 8
start local 8 7: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "CRL distribution point extension could not be read."
aload 8
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 8: StackMap locals:
StackMap stack:
aload 7
aload 0
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
9: goto 14
10: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 8
start local 8 11: new org.bouncycastle.jce.provider.AnnotatedException
dup
12: ldc "No additional CRL locations could be decoded from CRL distribution point extension."
aload 8
13: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 14: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.CertStatus
dup
invokespecial org.bouncycastle.jce.provider.CertStatus.<init>:()V
astore 8
start local 8 15: new org.bouncycastle.jce.provider.ReasonsMask
dup
invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:()V
astore 9
start local 9 16: iconst_0
istore 10
start local 10 17: aload 7
ifnull 34
18: aconst_null
astore 11
start local 11 19: aload 7
invokevirtual org.bouncycastle.asn1.x509.CRLDistPoint.getDistributionPoints:()[Lorg/bouncycastle/asn1/x509/DistributionPoint;
astore 11
20: goto 23
21: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.x509.DistributionPoint[]
StackMap stack: java.lang.Exception
astore 12
start local 12 22: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Distribution points could not be read."
aload 12
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 23: StackMap locals:
StackMap stack:
aload 11
ifnull 34
24: iconst_0
istore 12
start local 12 25: goto 33
26: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 13
start local 13 27: aload 11
iload 12
aaload
aload 13
aload 1
aload 2
aload 3
aload 4
aload 8
aload 9
aload 5
invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
28: iconst_1
istore 10
29: goto 32
30: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.x509.DistributionPoint[] int org.bouncycastle.x509.ExtendedPKIXParameters
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 14
start local 14 31: aload 14
astore 6
end local 14 end local 13 32: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
33: iload 12
aload 11
arraylength
if_icmpge 34
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 34
aload 9
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifeq 26
end local 12 end local 11 34: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 53
aload 9
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifne 53
35: aconst_null
astore 11
start local 11 36: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
37: invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
38: astore 11
39: goto 42
40: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.DERObject
StackMap stack: java.lang.Exception
astore 12
start local 12 41: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Issuer from certificate for CRL could not be reencoded."
aload 12
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 42: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.x509.DistributionPoint
dup
new org.bouncycastle.asn1.x509.DistributionPointName
dup
iconst_0
new org.bouncycastle.asn1.x509.GeneralNames
dup
43: new org.bouncycastle.asn1.x509.GeneralName
dup
iconst_4
aload 11
invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
invokespecial org.bouncycastle.asn1.x509.GeneralNames.<init>:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
invokespecial org.bouncycastle.asn1.x509.DistributionPointName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
aconst_null
aconst_null
44: invokespecial org.bouncycastle.asn1.x509.DistributionPoint.<init>:(Lorg/bouncycastle/asn1/x509/DistributionPointName;Lorg/bouncycastle/asn1/x509/ReasonFlags;Lorg/bouncycastle/asn1/x509/GeneralNames;)V
astore 12
start local 12 45: aload 0
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 13
start local 13 46: aload 12
aload 13
aload 1
aload 2
aload 3
aload 4
aload 8
aload 9
47: aload 5
48: invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
49: iconst_1
istore 10
end local 13 end local 12 end local 11 50: goto 53
51: StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 11
start local 11 52: aload 11
astore 6
end local 11 53: StackMap locals:
StackMap stack:
iload 10
ifne 57
54: aload 6
instanceof org.bouncycastle.jce.provider.AnnotatedException
ifeq 56
55: aload 6
athrow
56: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "No valid CRL found."
aload 6
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
57: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpeq 61
58: new java.lang.StringBuilder
dup
ldc "Certificate revocation after "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getRevocationDate:()Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 59: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", reason: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.crlReasons:[Ljava/lang/String;
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
60: new org.bouncycastle.jce.provider.AnnotatedException
dup
aload 11
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
end local 11 61: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
ifne 63
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 11
if_icmpne 63
62: aload 8
bipush 12
invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
63: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
bipush 12
if_icmpne 65
64: new org.bouncycastle.jce.provider.AnnotatedException
dup
ldc "Certificate status could not be determined."
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
65: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 66 1 cert Ljava/security/cert/X509Certificate;
0 66 2 validDate Ljava/util/Date;
0 66 3 sign Ljava/security/cert/X509Certificate;
0 66 4 workingPublicKey Ljava/security/PublicKey;
0 66 5 certPathCerts Ljava/util/List;
1 66 6 lastException Lorg/bouncycastle/jce/provider/AnnotatedException;
2 66 7 crldp Lorg/bouncycastle/asn1/x509/CRLDistPoint;
7 8 8 e Ljava/lang/Exception;
11 14 8 e Lorg/bouncycastle/jce/provider/AnnotatedException;
15 66 8 certStatus Lorg/bouncycastle/jce/provider/CertStatus;
16 66 9 reasonsMask Lorg/bouncycastle/jce/provider/ReasonsMask;
17 66 10 validCrlFound Z
19 34 11 dps [Lorg/bouncycastle/asn1/x509/DistributionPoint;
22 23 12 e Ljava/lang/Exception;
25 34 12 i I
27 32 13 paramsPKIXClone Lorg/bouncycastle/x509/ExtendedPKIXParameters;
31 32 14 e Lorg/bouncycastle/jce/provider/AnnotatedException;
36 50 11 issuer Lorg/bouncycastle/asn1/DERObject;
41 42 12 e Ljava/lang/Exception;
45 50 12 dp Lorg/bouncycastle/asn1/x509/DistributionPoint;
46 50 13 paramsPKIXClone Lorg/bouncycastle/x509/ExtendedPKIXParameters;
52 53 11 e Lorg/bouncycastle/jce/provider/AnnotatedException;
59 61 11 message Ljava/lang/String;
Exception table:
from to target type
2 5 6 Class java.lang.Exception
8 9 10 Class org.bouncycastle.jce.provider.AnnotatedException
19 20 21 Class java.lang.Exception
27 29 30 Class org.bouncycastle.jce.provider.AnnotatedException
36 39 40 Class java.lang.Exception
35 50 51 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
paramsPKIX
cert
validDate
sign
workingPublicKey
certPathCerts
protected static int prepareNextCertJ(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
5: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERInteger;
astore 5
6: goto 11
7: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.DERInteger
StackMap stack: java.lang.Exception
astore 6
start local 6 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Inhibit any-policy extension cannot be decoded."
aload 6
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ifnull 15
12: aload 5
invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 6
start local 6 13: iload 6
iload 2
if_icmpge 15
14: iload 6
ireturn
end local 6 15: StackMap locals:
StackMap stack:
iload 2
ireturn
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 16 0 certPath Ljava/security/cert/CertPath;
0 16 1 index I
0 16 2 inhibitAnyPolicy I
1 16 3 certs Ljava/util/List;
2 16 4 cert Ljava/security/cert/X509Certificate;
3 16 5 iap Lorg/bouncycastle/asn1/DERInteger;
8 11 6 e Ljava/lang/Exception;
13 15 6 _inhibitAnyPolicy I
Exception table:
from to target type
3 6 7 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
inhibitAnyPolicy
protected static void prepareNextCertK(java.security.cert.CertPath, int);
descriptor: (Ljava/security/cert/CertPath;I)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 2
start local 2 1: aload 2
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 3
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
5: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
astore 4
6: goto 11
7: StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.BasicConstraints
StackMap stack: java.lang.Exception
astore 5
start local 5 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Basic constraints extension cannot be decoded."
aload 5
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 4
ifnull 14
12: aload 4
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
ifne 15
13: new java.security.cert.CertPathValidatorException
dup
ldc "Not a CA certificate"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
ldc "Intermediate certificate lacks BasicConstraints"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 certPath Ljava/security/cert/CertPath;
0 16 1 index I
1 16 2 certs Ljava/util/List;
2 16 3 cert Ljava/security/cert/X509Certificate;
3 16 4 bc Lorg/bouncycastle/asn1/x509/BasicConstraints;
8 11 5 e Ljava/lang/Exception;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
protected static int prepareNextCertL(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 6
3: iload 2
ifgt 5
4: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Max path length not greater than zero"
aconst_null
aload 0
iload 1
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
5: StackMap locals: java.util.List java.security.cert.X509Certificate
StackMap stack:
iload 2
iconst_1
isub
ireturn
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 certPath Ljava/security/cert/CertPath;
0 7 1 index I
0 7 2 maxPathLength I
1 7 3 certs Ljava/util/List;
2 7 4 cert Ljava/security/cert/X509Certificate;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
maxPathLength
protected static int prepareNextCertM(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
5: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
astore 5
6: goto 11
7: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.BasicConstraints
StackMap stack: java.lang.Exception
astore 6
start local 6 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Basic constraints extension cannot be decoded."
aload 6
aload 0
9: iload 1
10: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
ifnull 17
12: aload 5
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.getPathLenConstraint:()Ljava/math/BigInteger;
astore 6
start local 6 13: aload 6
ifnull 17
14: aload 6
invokevirtual java.math.BigInteger.intValue:()I
istore 7
start local 7 15: iload 7
iload 2
if_icmpge 17
16: iload 7
ireturn
end local 7 end local 6 17: StackMap locals:
StackMap stack:
iload 2
ireturn
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 18 0 certPath Ljava/security/cert/CertPath;
0 18 1 index I
0 18 2 maxPathLength I
1 18 3 certs Ljava/util/List;
2 18 4 cert Ljava/security/cert/X509Certificate;
3 18 5 bc Lorg/bouncycastle/asn1/x509/BasicConstraints;
8 11 6 e Ljava/lang/Exception;
13 17 6 _pathLengthConstraint Ljava/math/BigInteger;
15 17 7 _plc I
Exception table:
from to target type
3 6 7 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
maxPathLength
protected static void prepareNextCertN(java.security.cert.CertPath, int);
descriptor: (Ljava/security/cert/CertPath;I)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 2
start local 2 1: aload 2
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 2: aload 3
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 4
start local 4 3: aload 4
ifnull 8
aload 4
iconst_5
baload
ifne 8
4: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
5: ldc "Issuer certificate keyusage extension is critical and does not permit key signing."
aconst_null
6: aload 0
iload 1
7: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
8: StackMap locals: java.util.List java.security.cert.X509Certificate boolean[]
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 certPath Ljava/security/cert/CertPath;
0 9 1 index I
1 9 2 certs Ljava/util/List;
2 9 3 cert Ljava/security/cert/X509Certificate;
3 9 4 _usage [Z
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
protected static void prepareNextCertO(java.security.cert.CertPath, int, java.util.Set, java.util.List);
descriptor: (Ljava/security/cert/CertPath;ILjava/util/Set;Ljava/util/List;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 4
start local 4 1: aload 4
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 5
start local 5 2: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 3: goto 8
4: StackMap locals: java.util.List java.security.cert.X509Certificate java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
aload 5
aload 2
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
5: goto 8
6: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 7
start local 7 7: new java.security.cert.CertPathValidatorException
dup
aload 7
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
aload 7
invokevirtual java.security.cert.CertPathValidatorException.getCause:()Ljava/lang/Throwable;
aload 0
iload 1
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 7 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifne 13
10: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Certificate has unsupported critical extension."
aconst_null
aload 0
11: iload 1
12: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
13: 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 14 0 certPath Ljava/security/cert/CertPath;
0 14 1 index I
0 14 2 criticalExtensions Ljava/util/Set;
0 14 3 pathCheckers Ljava/util/List;
1 14 4 certs Ljava/util/List;
2 14 5 cert Ljava/security/cert/X509Certificate;
3 14 6 tmpIter Ljava/util/Iterator;
7 8 7 e Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
4 5 6 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
criticalExtensions
pathCheckers
protected static int prepareNextCertH1(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 5
3: iload 2
ifeq 5
4: iload 2
iconst_1
isub
ireturn
5: StackMap locals: java.util.List java.security.cert.X509Certificate
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 certPath Ljava/security/cert/CertPath;
0 6 1 index I
0 6 2 explicitPolicy I
1 6 3 certs Ljava/util/List;
2 6 4 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
certPath
index
explicitPolicy
protected static int prepareNextCertH2(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 5
3: iload 2
ifeq 5
4: iload 2
iconst_1
isub
ireturn
5: StackMap locals: java.util.List java.security.cert.X509Certificate
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 certPath Ljava/security/cert/CertPath;
0 6 1 index I
0 6 2 policyMapping I
1 6 3 certs Ljava/util/List;
2 6 4 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
certPath
index
policyMapping
protected static int prepareNextCertH3(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aload 4
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 5
3: iload 2
ifeq 5
4: iload 2
iconst_1
isub
ireturn
5: StackMap locals: java.util.List java.security.cert.X509Certificate
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 certPath Ljava/security/cert/CertPath;
0 6 1 index I
0 6 2 inhibitAnyPolicy I
1 6 3 certs Ljava/util/List;
2 6 4 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
certPath
index
inhibitAnyPolicy
protected static int wrapupCertA(int, java.security.cert.X509Certificate);
descriptor: (ILjava/security/cert/X509Certificate;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 2
iload 0
ifeq 2
1: iinc 0 -1
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 explicitPolicy I
0 3 1 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
explicitPolicy
cert
protected static int wrapupCertB(java.security.cert.CertPath, int, int);
descriptor: (Ljava/security/cert/CertPath;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 3
start local 3 1: aload 3
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 4
start local 4 2: aconst_null
astore 6
start local 6 3: aload 4
4: getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
5: 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 6
6: goto 9
7: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate top org.bouncycastle.asn1.ASN1Sequence
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 7
start local 7 8: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Policy constraints could not be decoded."
aload 7
aload 0
iload 1
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 7 9: StackMap locals:
StackMap stack:
aload 6
ifnull 24
10: aload 6
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
astore 7
start local 7 11: goto 23
12: StackMap locals: java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1TaggedObject
astore 8
start local 8 13: aload 8
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
tableswitch { // 0 - 0
0: 14
default: 23
}
14: StackMap locals: org.bouncycastle.asn1.ASN1TaggedObject
StackMap stack:
aload 8
iconst_0
invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 5
start local 5 15: goto 21
end local 5 16: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 17: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
18: ldc "Policy constraints requireExplicitPolicy field could not be decoded."
aload 9
aload 0
19: iload 1
20: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 9 start local 5 21: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration org.bouncycastle.asn1.ASN1TaggedObject
StackMap stack:
iload 5
ifne 23
22: iconst_0
ireturn
end local 8 end local 5 23: StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate top org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 12
end local 7 24: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 certPath Ljava/security/cert/CertPath;
0 25 1 index I
0 25 2 explicitPolicy I
1 25 3 certs Ljava/util/List;
2 25 4 cert Ljava/security/cert/X509Certificate;
15 16 5 tmpInt I
21 23 5 tmpInt I
3 25 6 pc Lorg/bouncycastle/asn1/ASN1Sequence;
8 9 7 e Lorg/bouncycastle/jce/provider/AnnotatedException;
11 24 7 policyConstraints Ljava/util/Enumeration;
13 23 8 constraint Lorg/bouncycastle/asn1/ASN1TaggedObject;
17 21 9 e Ljava/lang/Exception;
Exception table:
from to target type
3 6 7 Class org.bouncycastle.jce.provider.AnnotatedException
14 15 16 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
explicitPolicy
protected static void wrapupCertF(java.security.cert.CertPath, int, java.util.List, java.util.Set);
descriptor: (Ljava/security/cert/CertPath;ILjava/util/List;Ljava/util/Set;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 4
start local 4 1: aload 4
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 5
start local 5 2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 3: goto 10
4: StackMap locals: java.util.List java.security.cert.X509Certificate java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
aload 5
aload 3
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
5: goto 10
6: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 7
start local 7 7: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Additional certificate path checker failed."
aload 7
aload 0
8: iload 1
9: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 7 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifne 15
12: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Certificate has unsupported critical extension"
aconst_null
aload 0
13: iload 1
14: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
15: 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 16 0 certPath Ljava/security/cert/CertPath;
0 16 1 index I
0 16 2 pathCheckers Ljava/util/List;
0 16 3 criticalExtensions Ljava/util/Set;
1 16 4 certs Ljava/util/List;
2 16 5 cert Ljava/security/cert/X509Certificate;
3 16 6 tmpIter Ljava/util/Iterator;
7 10 7 e Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
4 5 6 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
index
pathCheckers
criticalExtensions
protected static org.bouncycastle.jce.provider.PKIXPolicyNode wrapupCertG(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.Set, int, java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode, java.util.Set);
descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Set;I[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;Ljava/util/Set;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 7
start local 7 1: aload 5
ifnonnull 8
2: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isExplicitPolicyRequired:()Z
ifeq 6
3: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Explicit policy requested but none available."
aconst_null
4: aload 0
iload 3
5: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
6: StackMap locals: int
StackMap stack:
aconst_null
astore 8
start local 8 7: goto 94
end local 8 8: StackMap locals:
StackMap stack:
aload 2
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isAnyPolicy:(Ljava/util/Set;)Z
ifeq 53
9: aload 1
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isExplicitPolicyRequired:()Z
ifeq 51
10: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifeq 14
11: new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
ldc "Explicit policy requested but none available."
aconst_null
12: aload 0
iload 3
13: invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
14: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 9
start local 9 15: iconst_0
istore 10
start local 10 16: goto 29
17: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set int
StackMap stack:
aload 4
iload 10
aaload
astore 11
start local 11 18: iconst_0
istore 12
start local 12 19: goto 27
20: StackMap locals: java.util.List int
StackMap stack:
aload 11
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 13
start local 13 21: ldc "2.5.29.32.0"
aload 13
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
22: aload 13
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
astore 14
start local 14 23: goto 25
24: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
StackMap stack:
aload 9
aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
end local 14 end local 13 26: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
27: iload 12
aload 11
invokeinterface java.util.List.size:()I
if_icmplt 20
end local 12 end local 11 28: iinc 10 1
StackMap locals:
StackMap stack:
29: iload 10
aload 4
arraylength
if_icmplt 17
end local 10 30: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
start local 10 31: goto 35
32: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 11
start local 11 33: aload 11
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
astore 12
start local 12 34: aload 6
aload 12
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 35: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
36: aload 5
ifnull 51
37: iload 7
iconst_1
isub
istore 11
start local 11 38: goto 50
39: StackMap locals: int
StackMap stack:
aload 4
iload 11
aaload
astore 12
start local 12 40: iconst_0
istore 13
start local 13 41: goto 48
42: StackMap locals: java.util.List int
StackMap stack:
aload 12
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 14
start local 14 43: aload 14
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifne 47
44: aload 5
45: aload 4
aload 14
46: 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 5
end local 14 47: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
48: iload 13
aload 12
invokeinterface java.util.List.size:()I
if_icmplt 42
end local 13 end local 12 49: iinc 11 -1
StackMap locals:
StackMap stack:
50: iload 11
ifge 39
end local 11 end local 10 end local 9 51: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int
StackMap stack:
aload 5
astore 8
start local 8 52: goto 94
end local 8 53: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 9
start local 9 54: iconst_0
istore 10
start local 10 55: goto 70
56: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set int
StackMap stack:
aload 4
iload 10
aaload
astore 11
start local 11 57: iconst_0
istore 12
start local 12 58: goto 68
59: StackMap locals: java.util.List int
StackMap stack:
aload 11
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 13
start local 13 60: ldc "2.5.29.32.0"
aload 13
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 67
61: aload 13
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
astore 14
start local 14 62: goto 66
63: StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 15
start local 15 64: ldc "2.5.29.32.0"
aload 15
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 66
65: aload 9
aload 15
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 15 66: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 63
end local 14 end local 13 67: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
68: iload 12
aload 11
invokeinterface java.util.List.size:()I
if_icmplt 59
end local 12 end local 11 69: iinc 10 1
StackMap locals:
StackMap stack:
70: iload 10
aload 4
arraylength
if_icmplt 56
end local 10 71: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
start local 10 72: goto 77
73: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 11
start local 11 74: aload 11
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
astore 12
start local 12 75: aload 2
aload 12
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 77
76: aload 5
aload 4
aload 11
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 5
end local 12 end local 11 77: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 73
78: aload 5
ifnull 93
79: iload 7
iconst_1
isub
istore 11
start local 11 80: goto 92
81: StackMap locals: int
StackMap stack:
aload 4
iload 11
aaload
astore 12
start local 12 82: iconst_0
istore 13
start local 13 83: goto 90
84: StackMap locals: java.util.List int
StackMap stack:
aload 12
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
astore 14
start local 14 85: aload 14
invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
ifne 89
86: aload 5
aload 4
87: aload 14
88: 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 5
end local 14 89: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
90: iload 13
aload 12
invokeinterface java.util.List.size:()I
if_icmplt 84
end local 13 end local 12 91: iinc 11 -1
StackMap locals:
StackMap stack:
92: iload 11
ifge 81
end local 11 93: StackMap locals:
StackMap stack:
aload 5
astore 8
end local 10 end local 9 start local 8 94: StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int org.bouncycastle.jce.provider.PKIXPolicyNode
StackMap stack:
aload 8
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 95 0 certPath Ljava/security/cert/CertPath;
0 95 1 paramsPKIX Lorg/bouncycastle/x509/ExtendedPKIXParameters;
0 95 2 userInitialPolicySet Ljava/util/Set;
0 95 3 index I
0 95 4 policyNodes [Ljava/util/List;
0 95 5 validPolicyTree Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
0 95 6 acceptablePolicies Ljava/util/Set;
1 95 7 n I
7 8 8 intersection Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
52 53 8 intersection Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
94 95 8 intersection Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
15 51 9 _validPolicyNodeSet Ljava/util/Set;
16 30 10 j I
18 28 11 _nodeDepth Ljava/util/List;
19 28 12 k I
21 26 13 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
23 26 14 _iter Ljava/util/Iterator;
31 51 10 _vpnsIter Ljava/util/Iterator;
33 35 11 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
34 35 12 _validPolicy Ljava/lang/String;
38 51 11 j I
40 49 12 nodes Ljava/util/List;
41 49 13 k I
43 47 14 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
54 94 9 _validPolicyNodeSet Ljava/util/Set;
55 71 10 j I
57 69 11 _nodeDepth Ljava/util/List;
58 69 12 k I
60 67 13 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
62 67 14 _iter Ljava/util/Iterator;
64 66 15 _c_node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
72 94 10 _vpnsIter Ljava/util/Iterator;
74 77 11 _node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
75 77 12 _validPolicy Ljava/lang/String;
80 93 11 j I
82 91 12 nodes Ljava/util/List;
83 91 13 k I
85 89 14 node Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
paramsPKIX
userInitialPolicySet
index
policyNodes
validPolicyTree
acceptablePolicies
}
SourceFile: "RFC3280CertPathUtilities.java"