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
private boolean onlyEECert;
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>(java.security.cert.PKIXBuilderParameters, javax.security.auth.x500.X500Principal, boolean, boolean);
descriptor: (Ljava/security/cert/PKIXBuilderParameters;Ljavax/security/auth/x500/X500Principal;ZZ)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokespecial sun.security.provider.certpath.Builder.<init>:(Ljava/security/cert/PKIXBuilderParameters;Ljavax/security/auth/x500/X500Principal;)V
1: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
2: aload 0
iconst_0
putfield sun.security.provider.certpath.ForwardBuilder.onlyEECert:Z
3: aload 0
aload 1
invokevirtual java.security.cert.PKIXBuilderParameters.getTrustAnchors:()Ljava/util/Set;
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchors: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.trustedCerts:Ljava/util/Set;
5: 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;
6: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustAnchors:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.PKIXBuilderParameters javax.security.auth.x500.X500Principal int int top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 5
start local 5 8: aload 5
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 7
start local 7 9: aload 7
ifnull 13
10: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedSubjectDNs:Ljava/util/Set;
aload 7
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: goto 14
13: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.PKIXBuilderParameters javax.security.auth.x500.X500Principal int 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 5
invokevirtual java.security.cert.TrustAnchor.getCA:()Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 14: StackMap locals: sun.security.provider.certpath.ForwardBuilder java.security.cert.PKIXBuilderParameters javax.security.auth.x500.X500Principal int int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
15: 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;
16: aload 0
iload 3
putfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
17: aload 0
iload 4
putfield sun.security.provider.certpath.ForwardBuilder.onlyEECert:Z
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 19 1 buildParams Ljava/security/cert/PKIXBuilderParameters;
0 19 2 targetSubjectDN Ljavax/security/auth/x500/X500Principal;
0 19 3 searchAllCertStores Z
0 19 4 onlyEECert Z
8 14 5 anchor Ljava/security/cert/TrustAnchor;
9 14 7 trustedCert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
buildParams
targetSubjectDN
searchAllCertStores
onlyEECert
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.date:Ljava/util/Date;
invokevirtual java.security.cert.X509CertSelector.setCertificateValid:(Ljava/util/Date;)V
5: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isExplicitPolicyRequired:()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 18
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;
12: checkcast java.security.cert.X509CertSelector
putfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
13: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isExplicitPolicyRequired:()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;
aload 1
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
invokevirtual java.security.cert.X509CertSelector.setBasicConstraints:(I)V
16: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caTargetSelector:Ljava/security/cert/X509CertSelector;
astore 5
17: goto 33
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
ifnonnull 22
19: 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;
20: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isExplicitPolicyRequired:()Z
ifeq 22
21: 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
22: 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
23: 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;
24: invokestatic sun.security.provider.certpath.CertPathHelper.setPathToNames:(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
25: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
aload 1
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setBasicConstraints:(I)V
26: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
27: astore 6
start local 6 28: 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
29: 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;
30: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getNotAfter:()Ljava/util/Date;
31: invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setValidityPeriod:(Ljava/util/Date;Ljava/util/Date;)V
32: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.caSelector:Lsun/security/provider/certpath/AdaptableX509CertSelector;
astore 5
end local 6 33: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.trustedCerts:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 40
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:
34: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 35: aload 5
aload 6
invokevirtual java.security.cert.X509CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifeq 40
36: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 38
37: 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
38: 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 40
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 40
39: return
end local 6 40: 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 34
41: aload 5
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.date:Ljava/util/Date;
invokevirtual java.security.cert.X509CertSelector.setCertificateValid:(Ljava/util/Date;)V
42: aload 1
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifne 45
43: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.getMaxPathLength:()I
iconst_m1
if_icmpeq 45
44: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.getMaxPathLength:()I
aload 1
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
if_icmple 50
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 50
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 50
49: return
50: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.certpath.ForwardState.isInitial:()Z
ifne 55
getstatic sun.security.provider.certpath.Builder.USE_AIA:Z
ifeq 55
51: aload 1
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
52: astore 6
start local 6 53: aload 6
ifnull 55
54: 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 55: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 60
56: aload 3
invokeinterface java.util.Collection.size:()I
iload 4
isub
istore 6
start local 6 57: 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
58: 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;
59: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 6 60: 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 61 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 61 1 currentState Lsun/security/provider/certpath/ForwardState;
0 61 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 61 3 caCerts Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
3 61 4 initialSize I
4 61 5 sel Ljava/security/cert/X509CertSelector;
28 33 6 akidext Lsun/security/x509/AuthorityKeyIdentifierExtension;
35 40 6 trustedCert Ljava/security/cert/X509Certificate;
53 55 6 aiaExt Lsun/security/x509/AuthorityInfoAccessExtension;
57 60 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 20
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 2
10: 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;
11: invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
12: ifeq 20
13: iconst_1
istore 4
14: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.searchAllCertStores:Z
ifne 20
15: iconst_1
ireturn
16: 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 17: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 20
18: 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
19: aload 8
invokevirtual java.security.cert.CertStoreException.printStackTrace:()V
end local 8 end local 7 end local 5 20: 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
21: 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 22 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 22 1 aiaExt Lsun/security/x509/AuthorityInfoAccessExtension;
0 22 2 certs Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
3 22 3 adList Ljava/util/List<Lsun/security/x509/AccessDescription;>;
6 22 4 add Z
8 20 5 ad Lsun/security/x509/AccessDescription;
9 20 7 cs Ljava/security/cert/CertStore;
17 20 8 cse Ljava/security/cert/CertStoreException;
Exception table:
from to target type
9 15 16 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=4, 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 26
9: iconst_0
istore 5
start local 5 10: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 25
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 top java.util.Iterator
StackMap stack:
11: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 12: aload 6
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 8
start local 8 13: aload 8
invokevirtual sun.security.x509.X509CertImpl.getPolicyMappingsExtension:()Lsun/security/x509/PolicyMappingsExtension;
14: astore 9
start local 9 15: aload 9
ifnull 17
16: iconst_1
istore 5
17: 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.security.cert.X509Certificate java.util.Iterator sun.security.x509.X509CertImpl sun.security.x509.PolicyMappingsExtension
StackMap stack:
getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 19
18: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "policyMappingFound = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 25
20: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isPolicyMappingInhibited:()Z
ifne 22
21: iload 5
ifne 25
22: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 24
23: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "loop detected!!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
ldc "loop detected"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 6 25: 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 top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 5 26: 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 27: iload 5
ifne 70
28: aload 1
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 6
start local 6 29: aload 6
ifnonnull 31
30: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 6
31: 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 34
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:
32: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 7
start local 7 33: aload 7
aload 1
aload 6
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
end local 7 34: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
35: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.getCertPathCheckers:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 41
StackMap locals:
StackMap stack:
36: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 7
start local 7 37: aload 7
invokevirtual java.security.cert.PKIXCertPathChecker.isForwardCheckingSupported:()Z
ifne 41
38: aload 7
invokevirtual java.security.cert.PKIXCertPathChecker.getSupportedExtensions:()Ljava/util/Set;
astore 9
start local 9 39: aload 9
ifnull 41
40: aload 6
aload 9
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
end local 9 end local 7 41: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
42: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 70
43: aload 6
44: getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
45: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
46: aload 6
47: getstatic sun.security.x509.PKIXExtensions.NameConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
48: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
49: aload 6
50: getstatic sun.security.x509.PKIXExtensions.CertificatePolicies_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
51: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
52: aload 6
53: getstatic sun.security.x509.PKIXExtensions.PolicyMappings_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
54: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
55: aload 6
56: getstatic sun.security.x509.PKIXExtensions.PolicyConstraints_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
57: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
58: aload 6
59: getstatic sun.security.x509.PKIXExtensions.InhibitAnyPolicy_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
60: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
61: aload 6
62: getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
63: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
64: 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
65: aload 6
66: getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
67: invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
68: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 70
69: new java.security.cert.CertificateException
dup
ldc "Unrecognized critical extension(s)"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 6 70: 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 72
71: return
72: StackMap locals:
StackMap stack:
iload 5
ifne 76
73: aload 1
invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
iconst_m1
if_icmpne 75
74: new java.security.cert.CertificateException
dup
ldc "cert is NOT a CA cert"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
75: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.certpath.KeyChecker.verifyCAKeyUsage:(Ljava/security/cert/X509Certificate;)V
76: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isRevocationEnabled:()Z
ifeq 83
77: aload 1
invokestatic sun.security.provider.certpath.CrlRevocationChecker.certCanSignCrl:(Ljava/security/cert/X509Certificate;)Z
ifeq 83
78: aload 4
invokevirtual sun.security.provider.certpath.ForwardState.keyParamsNeeded:()Z
ifne 83
79: aload 4
getfield sun.security.provider.certpath.ForwardState.crlChecker:Lsun/security/provider/certpath/CrlRevocationChecker;
aload 4
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
80: aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
81: iconst_1
82: invokevirtual sun.security.provider.certpath.CrlRevocationChecker.check:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Z)Z
pop
83: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.provider.certpath.ForwardState.keyParamsNeeded:()Z
ifne 87
84: aload 4
getfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
85: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.getSigProvider:()Ljava/lang/String;
86: invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
87: 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 88 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 88 1 cert Ljava/security/cert/X509Certificate;
0 88 2 currentState Lsun/security/provider/certpath/State;
0 88 3 certPathList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
7 88 4 currState Lsun/security/provider/certpath/ForwardState;
10 26 5 policyMappingFound Z
12 25 6 cpListCert Ljava/security/cert/X509Certificate;
13 25 8 cpListCertImpl Lsun/security/x509/X509CertImpl;
15 25 9 policyMappingsExt Lsun/security/x509/PolicyMappingsExtension;
27 88 5 isTrustedCert Z
29 70 6 unresCritExts Ljava/util/Set<Ljava/lang/String;>;
33 34 7 checker Ljava/security/cert/PKIXCertPathChecker;
37 41 7 checker Ljava/security/cert/PKIXCertPathChecker;
39 41 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=6, locals=6, 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 42
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 42
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 42
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 42
end local 5 end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.isRevocationEnabled:()Z
ifeq 27
17: new sun.security.provider.certpath.CrlRevocationChecker
dup
18: aload 2
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
aconst_null
aload 0
getfield sun.security.provider.certpath.ForwardBuilder.onlyEECert:Z
19: invokespecial sun.security.provider.certpath.CrlRevocationChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PKIXParameters;Ljava/util/Collection;Z)V
astore 4
start local 4 20: aload 4
aload 1
aload 2
invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
iconst_1
invokevirtual sun.security.provider.certpath.CrlRevocationChecker.check:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Z)Z
pop
end local 4 21: goto 27
StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
22: astore 4
start local 4 23: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 42
24: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ldc "ForwardBuilder.isPathCompleted() cpve"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: aload 4
invokevirtual java.security.cert.CertPathValidatorException.printStackTrace:()V
26: goto 42
end local 4 27: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
28: aload 0
getfield sun.security.provider.certpath.ForwardBuilder.buildParams:Ljava/security/cert/PKIXBuilderParameters;
invokevirtual java.security.cert.PKIXBuilderParameters.getSigProvider:()Ljava/lang/String;
29: invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
30: goto 40
StackMap locals:
StackMap stack: java.security.InvalidKeyException
31: pop
32: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 42
33: 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
34: goto 42
35: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 36: getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
ifnull 42
37: 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
38: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
39: goto 42
end local 4 40: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield sun.security.provider.certpath.ForwardBuilder.trustAnchor:Ljava/security/cert/TrustAnchor;
41: iconst_1
ireturn
end local 2 42: 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
43: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/security/provider/certpath/ForwardBuilder;
0 44 1 cert Ljava/security/cert/X509Certificate;
2 42 2 anchor Ljava/security/cert/TrustAnchor;
7 16 4 principal Ljavax/security/auth/x500/X500Principal;
8 16 5 publicKey Ljava/security/PublicKey;
20 21 4 crlChecker Lsun/security/provider/certpath/CrlRevocationChecker;
23 27 4 cpve Ljava/security/cert/CertPathValidatorException;
36 40 4 e Ljava/lang/Exception;
Exception table:
from to target type
17 21 22 Class java.security.cert.CertPathValidatorException
27 30 31 Class java.security.InvalidKeyException
27 30 35 Class java.lang.Exception
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:
PKIXCertComparator = sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator of sun.security.provider.certpath.ForwardBuilder