public class org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi extends java.security.cert.CertPathBuilderSpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi
super_class: java.security.cert.CertPathBuilderSpi
{
private java.lang.Exception certPathException;
descriptor: Ljava/lang/Exception;
flags: (0x0002) ACC_PRIVATE
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.security.cert.CertPathBuilderSpi.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/PKIXAttrCertPathBuilderSpi;
public java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters);
descriptor: (Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.cert.PKIXBuilderParameters
ifne 9
1: aload 1
instanceof org.bouncycastle.x509.ExtendedPKIXBuilderParameters
ifne 9
2: new java.security.InvalidAlgorithmParameterException
dup
3: new java.lang.StringBuilder
dup
ldc "Parameters must be an instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: ldc Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.x509.ExtendedPKIXBuilderParameters
ifeq 12
10: aload 1
checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
astore 2
start local 2 11: goto 14
end local 2 12: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.cert.PKIXBuilderParameters
invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
13: checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
astore 2
start local 2 14: StackMap locals: org.bouncycastle.x509.ExtendedPKIXBuilderParameters
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 15: aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getTargetConstraints:()Lorg/bouncycastle/util/Selector;
astore 7
start local 7 16: aload 7
instanceof org.bouncycastle.x509.X509AttributeCertStoreSelector
ifne 23
17: new java.security.cert.CertPathBuilderException
dup
18: new java.lang.StringBuilder
dup
ldc "TargetConstraints must be an instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: ldc Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " class."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.security.cert.CertPathBuilderException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters top top java.util.List top org.bouncycastle.util.Selector
StackMap stack:
aload 7
checkcast org.bouncycastle.x509.X509AttributeCertStoreSelector
aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
astore 3
start local 3 24: goto 27
end local 3 25: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 8
start local 8 26: new org.bouncycastle.jce.exception.ExtCertPathBuilderException
dup
ldc "Error finding target attribute certificate."
aload 8
invokespecial org.bouncycastle.jce.exception.ExtCertPathBuilderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 start local 3 27: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.Collection top java.util.List top org.bouncycastle.util.Selector
StackMap stack:
aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 31
28: new java.security.cert.CertPathBuilderException
dup
29: ldc "No attribute certificate found matching targetContraints."
30: invokespecial java.security.cert.CertPathBuilderException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 32: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
start local 4 33: goto 65
34: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.Collection java.util.Iterator java.util.List top org.bouncycastle.util.Selector java.security.cert.CertPathBuilderResult
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.x509.X509AttributeCertificate
astore 6
start local 6 35: new org.bouncycastle.x509.X509CertStoreSelector
dup
invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
astore 9
start local 9 36: aload 6
invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
astore 10
start local 10 37: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 11
start local 11 38: iconst_0
istore 12
start local 12 39: goto 56
40: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.Collection java.util.Iterator java.util.List org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.util.Selector java.security.cert.CertPathBuilderResult org.bouncycastle.x509.X509CertStoreSelector java.security.Principal[] java.util.Set int
StackMap stack:
aload 10
iload 12
aaload
instanceof javax.security.auth.x500.X500Principal
ifeq 42
41: aload 9
aload 10
iload 12
aaload
checkcast javax.security.auth.x500.X500Principal
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSubject:([B)V
42: StackMap locals:
StackMap stack:
aload 11
aload 9
aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
43: aload 11
aload 9
aload 2
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getCertStores:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
44: goto 55
45: StackMap locals:
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 13
start local 13 46: new org.bouncycastle.jce.exception.ExtCertPathBuilderException
dup
47: ldc "Public key certificate for attribute certificate cannot be searched."
48: aload 13
49: invokespecial org.bouncycastle.jce.exception.ExtCertPathBuilderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 50: StackMap locals:
StackMap stack: java.io.IOException
astore 13
start local 13 51: new org.bouncycastle.jce.exception.ExtCertPathBuilderException
dup
52: ldc "cannot encode X500Principal."
53: aload 13
54: invokespecial org.bouncycastle.jce.exception.ExtCertPathBuilderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 55: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
56: iload 12
aload 10
arraylength
if_icmplt 40
end local 12 57: aload 11
invokeinterface java.util.Set.isEmpty:()Z
ifeq 61
58: new java.security.cert.CertPathBuilderException
dup
59: ldc "Public key certificate for attribute certificate cannot be found."
60: invokespecial java.security.cert.CertPathBuilderException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
start local 12 62: goto 64
63: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 6
aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
aload 2
aload 5
invokevirtual org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.build:(Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;Ljava/util/List;)Ljava/security/cert/CertPathBuilderResult;
astore 8
64: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 65
aload 8
ifnull 63
end local 12 end local 11 end local 10 end local 9 end local 6 65: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.Collection java.util.Iterator java.util.List top org.bouncycastle.util.Selector java.security.cert.CertPathBuilderResult
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 66
aload 8
ifnull 34
66: StackMap locals:
StackMap stack:
aload 8
ifnonnull 71
aload 0
getfield org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.certPathException:Ljava/lang/Exception;
ifnull 71
67: new org.bouncycastle.jce.exception.ExtCertPathBuilderException
dup
68: ldc "Possible certificate chain could not be validated."
69: aload 0
getfield org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.certPathException:Ljava/lang/Exception;
70: invokespecial org.bouncycastle.jce.exception.ExtCertPathBuilderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
71: StackMap locals:
StackMap stack:
aload 8
ifnonnull 75
aload 0
getfield org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.certPathException:Ljava/lang/Exception;
ifnonnull 75
72: new java.security.cert.CertPathBuilderException
dup
73: ldc "Unable to find certificate chain."
74: invokespecial java.security.cert.CertPathBuilderException.<init>:(Ljava/lang/String;)V
athrow
75: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 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 76 0 this Lorg/bouncycastle/jce/provider/PKIXAttrCertPathBuilderSpi;
0 76 1 params Ljava/security/cert/CertPathParameters;
11 12 2 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
14 76 2 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
24 25 3 targets Ljava/util/Collection;
27 76 3 targets Ljava/util/Collection;
33 76 4 targetIter Ljava/util/Iterator;
15 76 5 certPathList Ljava/util/List;
35 65 6 cert Lorg/bouncycastle/x509/X509AttributeCertificate;
16 76 7 certSelect Lorg/bouncycastle/util/Selector;
26 27 8 e Lorg/bouncycastle/jce/provider/AnnotatedException;
32 76 8 result Ljava/security/cert/CertPathBuilderResult;
36 65 9 selector Lorg/bouncycastle/x509/X509CertStoreSelector;
37 65 10 principals [Ljava/security/Principal;
38 65 11 issuers Ljava/util/Set;
39 57 12 i I
46 50 13 e Lorg/bouncycastle/jce/provider/AnnotatedException;
51 55 13 e Ljava/io/IOException;
62 65 12 it Ljava/util/Iterator;
Exception table:
from to target type
23 24 25 Class org.bouncycastle.jce.provider.AnnotatedException
40 44 45 Class org.bouncycastle.jce.provider.AnnotatedException
40 44 50 Class java.io.IOException
Exceptions:
throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
private java.security.cert.CertPathBuilderResult build(org.bouncycastle.x509.X509AttributeCertificate, java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXBuilderParameters, java.util.List);
descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;Ljava/util/List;)Ljava/security/cert/CertPathBuilderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 2
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getExcludedCerts:()Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getMaxPathLength:()I
iconst_m1
if_icmpeq 7
5: aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getMaxPathLength:()I
if_icmple 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 4
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aconst_null
astore 7
start local 7 9: ldc "X.509"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 5
start local 5 10: ldc "RFC3281"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.cert.CertPathValidator.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
astore 6
start local 6 11: goto 16
end local 6 end local 5 12: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi org.bouncycastle.x509.X509AttributeCertificate java.security.cert.X509Certificate org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.List top top java.security.cert.CertPathBuilderResult
StackMap stack: java.lang.Exception
pop
13: new java.lang.RuntimeException
dup
14: ldc "Exception creating support classes."
15: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 5 start local 6 16: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi org.bouncycastle.x509.X509AttributeCertificate java.security.cert.X509Certificate org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.List java.security.cert.CertificateFactory java.security.cert.CertPathValidator java.security.cert.CertPathBuilderResult
StackMap stack:
aload 2
aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getTrustAnchors:()Ljava/util/Set;
17: aload 3
invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getSigProvider:()Ljava/lang/String;
18: invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findTrustAnchor:(Ljava/security/cert/X509Certificate;Ljava/util/Set;Ljava/lang/String;)Ljava/security/cert/TrustAnchor;
ifnull 40
19: aload 5
aload 4
invokevirtual java.security.cert.CertificateFactory.generateCertPath:(Ljava/util/List;)Ljava/security/cert/CertPath;
astore 8
start local 8 20: goto 26
end local 8 21: StackMap locals:
StackMap stack: java.lang.Exception
astore 10
start local 10 22: new org.bouncycastle.jce.provider.AnnotatedException
dup
23: ldc "Certification path could not be constructed from certificate list."
24: aload 10
25: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 start local 8 26: StackMap locals: java.security.cert.CertPath
StackMap stack:
aload 6
27: aload 8
aload 3
28: invokevirtual java.security.cert.CertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
checkcast java.security.cert.PKIXCertPathValidatorResult
astore 9
start local 9 29: goto 35
end local 9 30: StackMap locals:
StackMap stack: java.lang.Exception
astore 10
start local 10 31: new org.bouncycastle.jce.provider.AnnotatedException
dup
32: ldc "Certification path could not be validated."
33: aload 10
34: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 start local 9 35: StackMap locals: java.security.cert.PKIXCertPathValidatorResult
StackMap stack:
new java.security.cert.PKIXCertPathBuilderResult
dup
aload 8
aload 9
36: invokevirtual java.security.cert.PKIXCertPathValidatorResult.getTrustAnchor:()Ljava/security/cert/TrustAnchor;
aload 9
invokevirtual java.security.cert.PKIXCertPathValidatorResult.getPolicyTree:()Ljava/security/cert/PolicyNode;
aload 9
37: invokevirtual java.security.cert.PKIXCertPathValidatorResult.getPublicKey:()Ljava/security/PublicKey;
38: invokespecial java.security.cert.PKIXCertPathBuilderResult.<init>:(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
39: areturn
end local 9 end local 8 40: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromAltNames:(Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
41: goto 47
42: StackMap locals:
StackMap stack: java.security.cert.CertificateParsingException
astore 8
start local 8 43: new org.bouncycastle.jce.provider.AnnotatedException
dup
44: ldc "No additional X.509 stores can be added from certificate locations."
45: aload 8
46: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 47: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
start local 8 48: aload 8
aload 2
aload 3
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findIssuerCerts:(Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;)Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
49: goto 55
50: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi org.bouncycastle.x509.X509AttributeCertificate java.security.cert.X509Certificate org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.List java.security.cert.CertificateFactory java.security.cert.CertPathValidator java.security.cert.CertPathBuilderResult java.util.Collection
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 9
start local 9 51: new org.bouncycastle.jce.provider.AnnotatedException
dup
52: ldc "Cannot find issuer certificate for certificate in certification path."
53: aload 9
54: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 55: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 59
56: new org.bouncycastle.jce.provider.AnnotatedException
dup
57: ldc "No issuer certificate for certificate in certification path found."
58: invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
start local 9 60: goto 68
61: StackMap locals: java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 10
start local 10 62: aload 10
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
63: aload 10
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
64: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
65: ifeq 67
66: goto 68
67: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 0
aload 1
aload 10
aload 3
aload 4
invokevirtual org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.build:(Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;Ljava/util/List;)Ljava/security/cert/CertPathBuilderResult;
astore 7
end local 10 68: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 74
aload 7
ifnull 61
end local 9 end local 8 69: goto 74
70: StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi org.bouncycastle.x509.X509AttributeCertificate java.security.cert.X509Certificate org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.util.List java.security.cert.CertificateFactory java.security.cert.CertPathValidator java.security.cert.CertPathBuilderResult
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 8
start local 8 71: aload 0
new org.bouncycastle.jce.provider.AnnotatedException
dup
72: ldc "No valid certification path could be build."
aload 8
invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
73: putfield org.bouncycastle.jce.provider.PKIXAttrCertPathBuilderSpi.certPathException:Ljava/lang/Exception;
end local 8 74: StackMap locals:
StackMap stack:
aload 7
ifnonnull 76
75: aload 4
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
76: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lorg/bouncycastle/jce/provider/PKIXAttrCertPathBuilderSpi;
0 77 1 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
0 77 2 tbvCert Ljava/security/cert/X509Certificate;
0 77 3 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
0 77 4 tbvPath Ljava/util/List;
10 12 5 cFact Ljava/security/cert/CertificateFactory;
16 77 5 cFact Ljava/security/cert/CertificateFactory;
11 12 6 validator Ljava/security/cert/CertPathValidator;
16 77 6 validator Ljava/security/cert/CertPathValidator;
9 77 7 builderResult Ljava/security/cert/CertPathBuilderResult;
20 21 8 certPath Ljava/security/cert/CertPath;
26 40 8 certPath Ljava/security/cert/CertPath;
29 30 9 result Ljava/security/cert/PKIXCertPathValidatorResult;
35 40 9 result Ljava/security/cert/PKIXCertPathValidatorResult;
22 26 10 e Ljava/lang/Exception;
31 35 10 e Ljava/lang/Exception;
43 47 8 e Ljava/security/cert/CertificateParsingException;
48 69 8 issuers Ljava/util/Collection;
51 55 9 e Lorg/bouncycastle/jce/provider/AnnotatedException;
60 69 9 it Ljava/util/Iterator;
62 68 10 issuer Ljava/security/cert/X509Certificate;
71 74 8 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
9 11 12 Class java.lang.Exception
19 20 21 Class java.lang.Exception
26 29 30 Class java.lang.Exception
40 41 42 Class java.security.cert.CertificateParsingException
48 49 50 Class org.bouncycastle.jce.provider.AnnotatedException
16 39 70 Class org.bouncycastle.jce.provider.AnnotatedException
40 69 70 Class org.bouncycastle.jce.provider.AnnotatedException
MethodParameters:
Name Flags
attrCert
tbvCert
pkixParams
tbvPath
}
SourceFile: "PKIXAttrCertPathBuilderSpi.java"