class sun.security.provider.certpath.ForwardBuilder extends sun.security.provider.certpath.Builder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.ForwardBuilder
super_class: sun.security.provider.certpath.Builder
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Set<java.security.cert.X509Certificate> trustedCerts;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
private final java.util.Set<javax.security.auth.x500.X500Principal> trustedSubjectDNs;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljavax/security/auth/x500/X500Principal;>;
private final java.util.Set<java.security.cert.TrustAnchor> trustAnchors;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
private java.security.cert.X509CertSelector eeSelector;
descriptor: Ljava/security/cert/X509CertSelector;
flags: (0x0002) ACC_PRIVATE
private sun.security.provider.certpath.AdaptableX509CertSelector caSelector;
descriptor: Lsun/security/provider/certpath/AdaptableX509CertSelector;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509CertSelector caTargetSelector;
descriptor: Ljava/security/cert/X509CertSelector;
flags: (0x0002) ACC_PRIVATE
java.security.cert.TrustAnchor trustAnchor;
descriptor: Ljava/security/cert/TrustAnchor;
flags: (0x0000)
private java.util.Comparator<java.security.cert.X509Certificate> comparator;
descriptor: Ljava/util/Comparator;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Comparator<Ljava/security/cert/X509Certificate;>;
private boolean searchAllCertStores;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.provider.certpath.PKIX$BuilderParams, boolean);
descriptor: (Lsun/security/provider/certpath/PKIX$BuilderParams;Z)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial sun.security.provider.certpath.Builder.<init>:(Lsun/security/provider/certpath/PKIX$BuilderParams;)V
1: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
2: aload 0
aload 1
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.trustAnchors:()Ljava/util/Set;
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
3: aload 0
new java.util.HashSet
dup
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokespecial java.util.HashSet.<init>:(I)V
putfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
4: aload 0
new java.util.HashSet
dup
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokespecial java.util.HashSet.<init>:(I)V
putfield sun.security.provider.certpath.ForwardBuilder.trustedSubjectDNs:Ljava/util/Set;
5: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.PKIX$BuilderParams int top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 3
start local 3 7: aload 3
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 5
start local 5 8: aload 5
ifnull 12
9: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedSubjectDNs:Ljava/util/Set;
aload 5
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: goto 13
12: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.PKIX$BuilderParams int java.security.cert.TrustAnchor java.util.Iterator java.security.cert.X509Certificate
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedSubjectDNs:Ljava/util/Set;
aload 3
invokevirtual java.security.cert.TrustAnchor.getCA:()Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 13: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.PKIX$BuilderParams int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: aload 0
new sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator
dup
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedSubjectDNs:Ljava/util/Set;
invokespecial sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.<init>:(Ljava/util/Set;)V
putfield sun.security.provider.certpath.ForwardBuilder.comparator:Ljava/util/Comparator;
15: aload 0
iload 2
putfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 17 1 buildParams Lsun/security/provider/certpath/PKIX$BuilderParams;
0 17 2 searchAllCertStores Z
7 13 3 anchor Ljava/security/cert/TrustAnchor;
8 13 5 trustedCert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
buildParams
searchAllCertStores
java.util.Collection<java.security.cert.X509Certificate> getMatchingCerts(sun.security.provider.certpath.State, java.util.List<java.security.cert.CertStore>);
descriptor: (Lsun/security/provider/certpath/State;Ljava/util/List;)Ljava/util/Collection;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.getMatchingCerts()..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.provider.certpath.ForwardState
astore 3
start local 3 3: new java.util.TreeSet
dup
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.comparator:Ljava/util/Comparator;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 4
start local 4 4: aload 3
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifeq 6
5: aload 0
aload 3
aload 2
aload 4
invokevirtual sun.security.provider.certpath.ForwardBuilder.getMatchingEECerts:(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
6: StackMap locals: sun.security.provider.certpath.ForwardState java.util.Set
StackMap stack:
aload 0
aload 3
aload 2
aload 4
invokevirtual sun.security.provider.certpath.ForwardBuilder.getMatchingCACerts:(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
7: 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 8 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 8 1 currentState Lsun/security/provider/certpath/State;
0 8 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
3 8 3 currState Lsun/security/provider/certpath/ForwardState;
4 8 4 certs Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
Exceptions:
throws java.security.cert.CertStoreException, java.security.cert.CertificateException, java.io.IOException
Signature: (Lsun/security/provider/certpath/State;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
currentState
certStores
private void getMatchingEECerts(sun.security.provider.certpath.ForwardState, java.util.List<java.security.cert.CertStore>, java.util.Collection<java.security.cert.X509Certificate>);
descriptor: (Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.getMatchingEECerts()..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
ifnonnull 8
3: aload 0
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.targetCertConstraints:Ljava/security/cert/X509CertSelector;
invokevirtual java.security.cert.X509CertSelector.clone:()Ljava/lang/Object;
checkcast java.security.cert.X509CertSelector
putfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
4: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.date:()Ljava/util/Date;
invokevirtual java.security.cert.X509CertSelector.setCertificateValid:(Ljava/util/Date;)V
5: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.explicitPolicyRequired:()Z
ifeq 7
6: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
aload 0
invokevirtual sun.security.provider.certpath.ForwardBuilder.getMatchingPolicies:()Ljava/util/Set;
invokevirtual java.security.cert.X509CertSelector.setPolicy:(Ljava/util/Set;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
bipush -2
invokevirtual java.security.cert.X509CertSelector.setBasicConstraints:(I)V
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.eeSelector:Ljava/security/cert/X509CertSelector;
aload 2
aload 3
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
invokevirtual sun.security.provider.certpath.ForwardBuilder.addMatchingCerts:(Ljava/security/cert/X509CertSelector;Ljava/util/Collection;Ljava/util/Collection;Z)Z
pop
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 10 1 currentState Lsun/security/provider/certpath/ForwardState;
0 10 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 10 3 eeCerts Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
Exceptions:
throws java.io.IOException
Signature: (Lsun/security/provider/certpath/ForwardState;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
currentState
certStores
eeCerts
private void getMatchingCACerts(sun.security.provider.certpath.ForwardState, java.util.List<java.security.cert.CertStore>, java.util.Collection<java.security.cert.X509Certificate>);
descriptor: (Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.getMatchingCACerts()..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Collection.size:()I
istore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aload 1
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifeq 17
5: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.targetCertConstraints:Ljava/security/cert/X509CertSelector;
invokevirtual java.security.cert.X509CertSelector.getBasicConstraints:()I
bipush -2
if_icmpne 7
6: return
7: StackMap locals: int java.security.cert.X509CertSelector
StackMap stack:
getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 9
8: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.getMatchingCACerts(): ca is target"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
ifnonnull 15
10: aload 0
11: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.targetCertConstraints:Ljava/security/cert/X509CertSelector;
invokevirtual java.security.cert.X509CertSelector.clone:()Ljava/lang/Object;
checkcast java.security.cert.X509CertSelector
12: putfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
13: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.explicitPolicyRequired:()Z
ifeq 15
14: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
aload 0
invokevirtual sun.security.provider.certpath.ForwardBuilder.getMatchingPolicies:()Ljava/util/Set;
invokevirtual java.security.cert.X509CertSelector.setPolicy:(Ljava/util/Set;)V
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
astore 5
16: goto 31
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
ifnonnull 21
18: aload 0
new sun.security.provider.certpath.AdaptableX509CertSelector
dup
invokespecial sun.security.provider.certpath.AdaptableX509CertSelector.<init>:()V
putfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
19: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.explicitPolicyRequired:()Z
ifeq 21
20: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 0
invokevirtual sun.security.provider.certpath.ForwardBuilder.getMatchingPolicies:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setPolicy:(Ljava/util/Set;)V
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 1
getfield sun.security.provider.certpath.ForwardState.issuerDN:Ljavax/security/auth/x500/X500Principal;
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
22: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 1
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
23: invokestatic sun.security.provider.certpath.CertPathHelper.setPathToNames:(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
24: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
25: astore 6
start local 6 26: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 6
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.parseAuthorityKeyIdentifierExtension:(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
27: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getNotBefore:()Ljava/util/Date;
28: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getNotAfter:()Ljava/util/Date;
29: invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setValidityPeriod:(Ljava/util/Date;Ljava/util/Date;)V
30: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
astore 5
end local 6 31: StackMap locals:
StackMap stack:
aload 5
iconst_m1
invokevirtual java.security.cert.X509CertSelector.setBasicConstraints:(I)V
32: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 39
StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.ForwardState java.util.List java.util.Collection int java.security.cert.X509CertSelector top java.util.Iterator
StackMap stack:
33: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 34: aload 5
aload 6
invokevirtual java.security.cert.X509CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifeq 39
35: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 37
36: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.getMatchingCACerts: found matching trust anchor"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
37: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.ForwardState java.util.List java.util.Collection int java.security.cert.X509CertSelector java.security.cert.X509Certificate java.util.Iterator
StackMap stack:
aload 3
aload 6
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
ifeq 39
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 39
38: return
end local 6 39: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.ForwardState java.util.List java.util.Collection int java.security.cert.X509CertSelector top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
40: aload 5
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.date:()Ljava/util/Date;
invokevirtual java.security.cert.X509CertSelector.setCertificateValid:(Ljava/util/Date;)V
41: aload 5
aload 1
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
invokevirtual java.security.cert.X509CertSelector.setBasicConstraints:(I)V
42: aload 1
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifne 45
43: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.maxPathLength:()I
iconst_m1
if_icmpeq 45
44: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.maxPathLength:()I
aload 1
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
if_icmple 51
45: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.provider.certpath.ForwardState java.util.List java.util.Collection int java.security.cert.X509CertSelector
StackMap stack:
aload 0
aload 5
aload 2
46: aload 3
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
47: invokevirtual sun.security.provider.certpath.ForwardBuilder.addMatchingCerts:(Ljava/security/cert/X509CertSelector;Ljava/util/Collection;Ljava/util/Collection;Z)Z
48: ifeq 51
49: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 51
50: return
51: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifne 56
getstatic sun.security.provider.certpath.Builder.USE_AIA:Z
ifeq 56
52: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
53: astore 6
start local 6 54: aload 6
ifnull 56
55: aload 0
aload 6
aload 3
invokevirtual sun.security.provider.certpath.ForwardBuilder.getCerts:(Lsun/security/x509/AuthorityInfoAccessExtension;Ljava/util/Collection;)Z
pop
end local 6 56: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 61
57: aload 3
invokeinterface java.util.Collection.size:()I
iload 4
isub
istore 6
start local 6 58: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "ForwardBuilder.getMatchingCACerts: found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
59: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " CA certs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
60: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 6 61: 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 62 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 62 1 currentState Lsun/security/provider/certpath/ForwardState;
0 62 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 62 3 caCerts Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
3 62 4 initialSize I
4 62 5 sel Ljava/security/cert/X509CertSelector;
26 31 6 akidext Lsun/security/x509/AuthorityKeyIdentifierExtension;
34 39 6 trustedCert Ljava/security/cert/X509Certificate;
54 56 6 aiaExt Lsun/security/x509/AuthorityInfoAccessExtension;
58 61 6 numCerts I
Exceptions:
throws java.io.IOException
Signature: (Lsun/security/provider/certpath/ForwardState;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
currentState
certStores
caCerts
private boolean getCerts(sun.security.x509.AuthorityInfoAccessExtension, java.util.Collection<java.security.cert.X509Certificate>);
descriptor: (Lsun/security/x509/AuthorityInfoAccessExtension;Ljava/util/Collection;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.certpath.Builder.USE_AIA:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.x509.AuthorityInfoAccessExtension.getAccessDescriptions:()Ljava/util/List;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 5
4: StackMap locals: java.util.List
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 6: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.x509.AuthorityInfoAccessExtension java.util.Collection java.util.List int top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.AccessDescription
astore 5
start local 5 8: aload 5
invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Lsun/security/x509/AccessDescription;)Ljava/security/cert/CertStore;
astore 7
start local 7 9: aload 7
ifnull 21
10: aload 2
11: aload 7
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
12: invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
13: ifeq 21
14: iconst_1
istore 4
15: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 21
16: iconst_1
ireturn
17: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.x509.AuthorityInfoAccessExtension java.util.Collection java.util.List int sun.security.x509.AccessDescription java.util.Iterator java.security.cert.CertStore
StackMap stack: java.security.cert.CertStoreException
astore 8
start local 8 18: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 21
19: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "exception getting certs from CertStore:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
20: aload 8
invokevirtual java.security.cert.CertStoreException.printStackTrace:()V
end local 8 end local 7 end local 5 21: StackMap locals: sun.security.provider.certpath.ForwardBuilder sun.security.x509.AuthorityInfoAccessExtension java.util.Collection java.util.List int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
22: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 23 1 aiaExt Lsun/security/x509/AuthorityInfoAccessExtension;
0 23 2 certs Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
3 23 3 adList Ljava/util/List<Lsun/security/x509/AccessDescription;>;
6 23 4 add Z
8 21 5 ad Lsun/security/x509/AccessDescription;
9 21 7 cs Ljava/security/cert/CertStore;
18 21 8 cse Ljava/security/cert/CertStoreException;
Exception table:
from to target type
10 16 17 Class java.security.cert.CertStoreException
Signature: (Lsun/security/x509/AuthorityInfoAccessExtension;Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;)Z
MethodParameters:
Name Flags
aiaExt
certs
void verifyCert(java.security.cert.X509Certificate, sun.security.provider.certpath.State, java.util.List<java.security.cert.X509Certificate>);
descriptor: (Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/State;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 6
1: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "ForwardBuilder.verifyCert(SN: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 1
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "\n Issuer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "\n Subject: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 2
checkcast sun.security.provider.certpath.ForwardState
astore 4
start local 4 7: aload 4
getfield sun.security.provider.certpath.ForwardState.untrustedChecker:Lsun/security/provider/certpath/UntrustedChecker;
aload 1
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.UntrustedChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
8: aload 3
ifnull 16
9: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 5
start local 5 11: aload 1
aload 5
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 15
12: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 14
13: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "loop detected!!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
14: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState java.security.cert.X509Certificate java.util.Iterator
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
ldc "loop detected"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 5 15: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 5
start local 5 17: iload 5
ifne 47
18: aload 1
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 6
start local 6 19: aload 6
ifnonnull 21
20: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 6
21: StackMap locals: int java.util.Set
StackMap stack:
aload 4
getfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 8
goto 24
StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState int java.util.Set top java.util.Iterator
StackMap stack:
22: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 7
start local 7 23: aload 7
aload 1
aload 6
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
end local 7 24: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.certPathCheckers:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 31
StackMap locals:
StackMap stack:
26: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 7
start local 7 27: aload 7
invokevirtual java.security.cert.PKIXCertPathChecker.isForwardCheckingSupported:()Z
ifne 31
28: aload 7
invokevirtual java.security.cert.PKIXCertPathChecker.getSupportedExtensions:()Ljava/util/Set;
astore 9
start local 9 29: aload 9
ifnull 31
30: aload 6
aload 9
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
end local 9 end local 7 31: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
32: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 47
33: aload 6
getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
34: aload 6
getstatic sun.security.x509.PKIXExtensions.NameConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
35: aload 6
getstatic sun.security.x509.PKIXExtensions.CertificatePolicies_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
36: aload 6
getstatic sun.security.x509.PKIXExtensions.PolicyMappings_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
37: aload 6
getstatic sun.security.x509.PKIXExtensions.PolicyConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
38: aload 6
getstatic sun.security.x509.PKIXExtensions.InhibitAnyPolicy_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
39: aload 6
getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
40: aload 6
getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
41: aload 6
getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
42: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 47
43: new java.security.cert.CertPathValidatorException
dup
44: ldc "Unrecognized critical extension(s)"
aconst_null
aconst_null
iconst_m1
45: getstatic java.security.cert.PKIXReason.UNRECOGNIZED_CRIT_EXT:Ljava/security/cert/PKIXReason;
46: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
athrow
end local 6 47: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate sun.security.provider.certpath.State java.util.List sun.security.provider.certpath.ForwardState int
StackMap stack:
aload 4
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifeq 49
48: return
49: StackMap locals:
StackMap stack:
iload 5
ifne 53
50: aload 1
invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
iconst_m1
if_icmpne 52
51: new java.security.cert.CertificateException
dup
ldc "cert is NOT a CA cert"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.certpath.KeyChecker.verifyCAKeyUsage:(Ljava/security/cert/X509Certificate;)V
53: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.provider.certpath.ForwardState.keyParamsNeeded:()Z
ifne 57
54: aload 4
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
55: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.sigProvider:()Ljava/lang/String;
56: invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
57: 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 58 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 58 1 cert Ljava/security/cert/X509Certificate;
0 58 2 currentState Lsun/security/provider/certpath/State;
0 58 3 certPathList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
7 58 4 currState Lsun/security/provider/certpath/ForwardState;
11 15 5 cpListCert Ljava/security/cert/X509Certificate;
17 58 5 isTrustedCert Z
19 47 6 unresCritExts Ljava/util/Set<Ljava/lang/String;>;
23 24 7 checker Ljava/security/cert/PKIXCertPathChecker;
27 31 7 checker Ljava/security/cert/PKIXCertPathChecker;
29 31 9 supportedExts Ljava/util/Set<Ljava/lang/String;>;
Exceptions:
throws java.security.GeneralSecurityException
Signature: (Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/State;Ljava/util/List<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
cert
currentState
certPathList
boolean isPathCompleted(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Z
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 31
StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 2
start local 2 2: aload 2
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
ifnull 6
3: aload 1
aload 2
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 31
4: aload 0
aload 2
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchor:Ljava/security/cert/TrustAnchor;
5: iconst_1
ireturn
6: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate java.security.cert.TrustAnchor java.util.Iterator
StackMap stack:
aload 2
invokevirtual java.security.cert.TrustAnchor.getCA:()Ljavax/security/auth/x500/X500Principal;
astore 4
start local 4 7: aload 2
invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
astore 5
start local 5 8: aload 4
ifnull 13
aload 5
ifnull 13
9: aload 4
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 13
10: aload 5
aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
aload 2
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchor:Ljava/security/cert/TrustAnchor;
12: iconst_1
ireturn
13: StackMap locals: javax.security.auth.x500.X500Principal java.security.PublicKey
StackMap stack:
aload 4
ifnull 31
14: aload 4
aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 16
15: goto 31
16: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.security.provider.certpath.PKIX.isDSAPublicKeyWithoutParams:(Ljava/security/PublicKey;)Z
ifeq 18
17: goto 31
18: StackMap locals:
StackMap stack:
aload 1
aload 5
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Lsun/security/provider/certpath/PKIX$BuilderParams;
invokevirtual sun.security.provider.certpath.PKIX$BuilderParams.sigProvider:()Ljava/lang/String;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
19: goto 29
StackMap locals:
StackMap stack: java.security.InvalidKeyException
20: pop
21: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 31
22: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.isPathCompleted() invalid DSA key found"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
23: goto 31
24: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 6
start local 6 25: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 31
26: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.isPathCompleted() unexpected exception"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: aload 6
invokevirtual java.security.GeneralSecurityException.printStackTrace:()V
28: goto 31
end local 6 29: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchor:Ljava/security/cert/TrustAnchor;
30: iconst_1
ireturn
end local 5 end local 4 end local 2 31: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.X509Certificate top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
32: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 33 1 cert Ljava/security/cert/X509Certificate;
2 31 2 anchor Ljava/security/cert/TrustAnchor;
7 31 4 principal Ljavax/security/auth/x500/X500Principal;
8 31 5 publicKey Ljava/security/PublicKey;
25 29 6 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
18 19 20 Class java.security.InvalidKeyException
18 19 24 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
cert
void addCertToPath(java.security.cert.X509Certificate, java.util.LinkedList<java.security.cert.X509Certificate>);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/LinkedList;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 2 1 cert Ljava/security/cert/X509Certificate;
0 2 2 certPathList Ljava/util/LinkedList<Ljava/security/cert/X509Certificate;>;
Signature: (Ljava/security/cert/X509Certificate;Ljava/util/LinkedList<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
cert
certPathList
void removeFinalCertFromPath(java.util.LinkedList<java.security.cert.X509Certificate>);
descriptor: (Ljava/util/LinkedList;)V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 2 1 certPathList Ljava/util/LinkedList<Ljava/security/cert/X509Certificate;>;
Signature: (Ljava/util/LinkedList<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
certPathList
}
SourceFile: "ForwardBuilder.java"
NestMembers:
sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator
InnerClasses:
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
PKIXCertComparator = sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator of sun.security.provider.certpath.ForwardBuilder
BuilderParams = sun.security.provider.certpath.PKIX$BuilderParams of sun.security.provider.certpath.PKIX