public class sun.security.provider.certpath.PKIXCertPathValidator extends java.security.cert.CertPathValidatorSpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.provider.certpath.PKIXCertPathValidator
super_class: java.security.cert.CertPathValidatorSpi
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Date testDate;
descriptor: Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.security.cert.PKIXCertPathChecker> userCheckers;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
private java.lang.String sigProvider;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private sun.security.provider.certpath.BasicChecker basicChecker;
descriptor: Lsun/security/provider/certpath/BasicChecker;
flags: (0x0002) ACC_PRIVATE
private boolean ocspEnabled;
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.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.cert.CertPathValidatorSpi.<init>:()V
1: aload 0
iconst_0
putfield sun.security.provider.certpath.PKIXCertPathValidator.ocspEnabled:Z
2: aload 0
iconst_0
putfield sun.security.provider.certpath.PKIXCertPathValidator.onlyEECert:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
public java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters);
descriptor: (Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=13, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.engineValidate()..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.cert.PKIXParameters
ifne 4
3: new java.security.InvalidAlgorithmParameterException
dup
ldc "inappropriate parameters, must be an instance of PKIXParameters"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.CertPath.getType:()Ljava/lang/String;
ldc "X.509"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
aload 1
invokevirtual java.security.cert.CertPath.getType:()Ljava/lang/String;
ldc "X509"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: new java.security.InvalidAlgorithmParameterException
dup
ldc "inappropriate certification path type specified, must be X.509 or X509"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.cert.PKIXParameters
astore 3
start local 3 7: aload 3
invokevirtual java.security.cert.PKIXParameters.getTrustAnchors:()Ljava/util/Set;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 5
start local 5 10: aload 5
invokevirtual java.security.cert.TrustAnchor.getNameConstraints:()[B
ifnull 14
11: new java.security.InvalidAlgorithmParameterException
dup
12: ldc "name constraints in trust anchor not supported"
13: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 5 14: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
15: new java.util.ArrayList
dup
16: aload 1
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
17: invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 18: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 22
19: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 21
20: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.engineValidate() certList is empty"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
21: StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set java.util.List
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.engineValidate() reversing certpath..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
aload 5
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
23: aload 0
aload 3
invokevirtual sun.security.provider.certpath.PKIXCertPathValidator.populateVariables:(Ljava/security/cert/PKIXParameters;)V
24: aconst_null
astore 6
start local 6 25: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifne 27
26: aload 5
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
27: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aconst_null
astore 7
start local 7 28: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 55
StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set java.util.List java.security.cert.X509Certificate java.security.cert.CertPathValidatorException top java.util.Iterator
StackMap stack:
29: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 8
start local 8 30: aload 8
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 10
start local 10 31: aload 10
ifnull 41
32: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 34
33: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.engineValidate() anchor.getTrustedCert() != null"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
34: StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set java.util.List java.security.cert.X509Certificate java.security.cert.CertPathValidatorException java.security.cert.TrustAnchor java.util.Iterator java.security.cert.X509Certificate
StackMap stack:
aload 0
aload 10
aload 6
invokevirtual sun.security.provider.certpath.PKIXCertPathValidator.isWorthTrying:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
ifne 36
35: goto 55
36: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 43
37: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "anchor.getTrustedCert().getSubjectX500Principal() = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: aload 10
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
40: goto 43
41: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 43
42: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.engineValidate(): anchor.getTrustedCert() == null"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
43: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.PolicyNodeImpl
dup
aconst_null
44: ldc "2.5.29.32.0"
aconst_null
iconst_0
45: ldc "2.5.29.32.0"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
iconst_0
46: invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
astore 11
start local 11 47: aload 0
aload 8
aload 1
aload 5
aload 3
aload 11
invokevirtual sun.security.provider.certpath.PKIXCertPathValidator.doValidate:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/CertPath;Ljava/util/List;Ljava/security/cert/PKIXParameters;Lsun/security/provider/certpath/PolicyNodeImpl;)Ljava/security/cert/PolicyNode;
48: astore 12
start local 12 49: new java.security.cert.PKIXCertPathValidatorResult
dup
aload 8
aload 12
50: aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.basicChecker:Lsun/security/provider/certpath/BasicChecker;
invokevirtual sun.security.provider.certpath.BasicChecker.getPublicKey:()Ljava/security/PublicKey;
51: invokespecial java.security.cert.PKIXCertPathValidatorResult.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
52: areturn
end local 12 end local 11 53: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 11
start local 11 54: aload 11
astore 7
end local 11 end local 10 end local 8 55: StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set java.util.List java.security.cert.X509Certificate java.security.cert.CertPathValidatorException top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
56: aload 7
ifnull 58
57: aload 7
athrow
58: StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.CertPath java.security.cert.CertPathParameters java.security.cert.PKIXParameters java.util.Set java.util.List java.security.cert.X509Certificate java.security.cert.CertPathValidatorException
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
59: ldc "Path does not chain with any of the trust anchors"
60: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
0 61 1 cp Ljava/security/cert/CertPath;
0 61 2 param Ljava/security/cert/CertPathParameters;
7 61 3 pkixParam Ljava/security/cert/PKIXParameters;
8 61 4 anchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
10 14 5 anchor Ljava/security/cert/TrustAnchor;
18 61 5 certList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
25 61 6 firstCert Ljava/security/cert/X509Certificate;
28 61 7 lastException Ljava/security/cert/CertPathValidatorException;
30 55 8 anchor Ljava/security/cert/TrustAnchor;
31 55 10 trustedCert Ljava/security/cert/X509Certificate;
47 53 11 rootNode Lsun/security/provider/certpath/PolicyNodeImpl;
49 53 12 policyTree Ljava/security/cert/PolicyNode;
54 55 11 cpe Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
43 52 53 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
cp
param
private boolean isWorthTrying(java.security.cert.X509Certificate, java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 3
2: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "PKIXCertPathValidator.isWorthTrying() checking if this trusted cert is worth trying ..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
3: StackMap locals: int
StackMap stack:
aload 2
ifnonnull 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.AdaptableX509CertSelector
dup
invokespecial sun.security.provider.certpath.AdaptableX509CertSelector.<init>:()V
6: astore 4
start local 4 7: aload 1
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 5
start local 5 8: aload 5
ifnull 11
9: aload 5
iconst_5
iconst_1
bastore
10: aload 4
aload 5
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setKeyUsage:([Z)V
11: StackMap locals: sun.security.provider.certpath.AdaptableX509CertSelector boolean[]
StackMap stack:
aload 4
aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
12: aload 4
aload 2
invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
13: aload 2
invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
14: invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setValidityPeriod:(Ljava/util/Date;Ljava/util/Date;)V
15: aload 2
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 6
start local 6 16: aload 4
17: aload 6
invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
18: invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.parseAuthorityKeyIdentifierExtension:(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
19: aload 4
aload 1
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.match:(Ljava/security/cert/Certificate;)Z
istore 3
end local 6 20: goto 22
StackMap locals:
StackMap stack: java.lang.Exception
21: pop
22: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 27
23: iload 3
ifeq 26
24: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "YES - try this trustedCert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: goto 27
26: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ldc "NO - don't try this trustedCert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
0 28 1 trustedCert Ljava/security/cert/X509Certificate;
0 28 2 firstCert Ljava/security/cert/X509Certificate;
1 28 3 worthy Z
7 28 4 issuerSelector Lsun/security/provider/certpath/AdaptableX509CertSelector;
8 28 5 usages [Z
16 20 6 firstCertImpl Lsun/security/x509/X509CertImpl;
Exception table:
from to target type
15 20 21 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
trustedCert
firstCert
private void populateVariables(java.security.cert.PKIXParameters);
descriptor: (Ljava/security/cert/PKIXParameters;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.cert.PKIXParameters.getDate:()Ljava/util/Date;
putfield sun.security.provider.certpath.PKIXCertPathValidator.testDate:Ljava/util/Date;
1: aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.testDate:Ljava/util/Date;
ifnonnull 3
2: aload 0
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.util.Date.<init>:(J)V
putfield sun.security.provider.certpath.PKIXCertPathValidator.testDate:Ljava/util/Date;
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.security.cert.PKIXParameters.getCertPathCheckers:()Ljava/util/List;
putfield sun.security.provider.certpath.PKIXCertPathValidator.userCheckers:Ljava/util/List;
4: aload 0
aload 1
invokevirtual java.security.cert.PKIXParameters.getSigProvider:()Ljava/lang/String;
putfield sun.security.provider.certpath.PKIXCertPathValidator.sigProvider:Ljava/lang/String;
5: aload 1
invokevirtual java.security.cert.PKIXParameters.isRevocationEnabled:()Z
ifeq 16
6: aload 0
7: new sun.security.action.GetBooleanSecurityPropertyAction
dup
8: ldc "ocsp.enable"
9: invokespecial sun.security.action.GetBooleanSecurityPropertyAction.<init>:(Ljava/lang/String;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield sun.security.provider.certpath.PKIXCertPathValidator.ocspEnabled:Z
11: aload 0
12: new sun.security.action.GetBooleanSecurityPropertyAction
dup
13: ldc "com.sun.security.onlyCheckRevocationOfEECert"
14: invokespecial sun.security.action.GetBooleanSecurityPropertyAction.<init>:(Ljava/lang/String;)V
15: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield sun.security.provider.certpath.PKIXCertPathValidator.onlyEECert:Z
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
0 17 1 pkixParam Ljava/security/cert/PKIXParameters;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
pkixParam
private java.security.cert.PolicyNode doValidate(java.security.cert.TrustAnchor, java.security.cert.CertPath, java.util.List<java.security.cert.X509Certificate>, java.security.cert.PKIXParameters, sun.security.provider.certpath.PolicyNodeImpl);
descriptor: (Ljava/security/cert/TrustAnchor;Ljava/security/cert/CertPath;Ljava/util/List;Ljava/security/cert/PKIXParameters;Lsun/security/provider/certpath/PolicyNodeImpl;)Ljava/security/cert/PolicyNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
1: astore 6
start local 6 2: aload 3
invokeinterface java.util.List.size:()I
istore 7
start local 7 3: aload 0
new sun.security.provider.certpath.BasicChecker
dup
aload 1
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.testDate:Ljava/util/Date;
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.sigProvider:Ljava/lang/String;
iconst_0
invokespecial sun.security.provider.certpath.BasicChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;Z)V
putfield sun.security.provider.certpath.PKIXCertPathValidator.basicChecker:Lsun/security/provider/certpath/BasicChecker;
4: aconst_null
astore 8
start local 8 5: aload 4
instanceof sun.security.provider.certpath.PKIXExtendedParameters
ifeq 7
6: aload 4
checkcast sun.security.provider.certpath.PKIXExtendedParameters
invokevirtual sun.security.provider.certpath.PKIXExtendedParameters.getVariant:()Ljava/lang/String;
astore 8
7: StackMap locals: java.util.List int java.lang.String
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 9
8: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "PKIXCertPathValidator.doValidate(): create AlgorithmChecker for variant: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.AlgorithmChecker
dup
aload 1
aload 8
invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/lang/String;)V
astore 9
start local 9 10: new sun.security.provider.certpath.KeyChecker
dup
iload 7
11: aload 4
invokevirtual java.security.cert.PKIXParameters.getTargetCertConstraints:()Ljava/security/cert/CertSelector;
12: invokespecial sun.security.provider.certpath.KeyChecker.<init>:(ILjava/security/cert/CertSelector;)V
astore 10
start local 10 13: new sun.security.provider.certpath.ConstraintsChecker
dup
iload 7
invokespecial sun.security.provider.certpath.ConstraintsChecker.<init>:(I)V
14: astore 11
start local 11 15: new sun.security.provider.certpath.PolicyChecker
dup
aload 4
invokevirtual java.security.cert.PKIXParameters.getInitialPolicies:()Ljava/util/Set;
iload 7
16: aload 4
invokevirtual java.security.cert.PKIXParameters.isExplicitPolicyRequired:()Z
17: aload 4
invokevirtual java.security.cert.PKIXParameters.isPolicyMappingInhibited:()Z
18: aload 4
invokevirtual java.security.cert.PKIXParameters.isAnyPolicyInhibited:()Z
19: aload 4
invokevirtual java.security.cert.PKIXParameters.getPolicyQualifiersRejected:()Z
20: aload 5
21: invokespecial sun.security.provider.certpath.PolicyChecker.<init>:(Ljava/util/Set;IZZZZLsun/security/provider/certpath/PolicyNodeImpl;)V
22: astore 12
start local 12 23: new sun.security.provider.certpath.UntrustedChecker
dup
invokespecial sun.security.provider.certpath.UntrustedChecker.<init>:()V
astore 13
start local 13 24: aload 1
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 14
start local 14 25: aload 14
ifnull 29
26: aload 13
aload 14
27: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
28: invokevirtual sun.security.provider.certpath.UntrustedChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
29: StackMap locals: sun.security.provider.certpath.PKIXCertPathValidator java.security.cert.TrustAnchor java.security.cert.CertPath java.util.List java.security.cert.PKIXParameters sun.security.provider.certpath.PolicyNodeImpl java.util.List int java.lang.String sun.security.provider.certpath.AlgorithmChecker sun.security.provider.certpath.KeyChecker sun.security.provider.certpath.ConstraintsChecker sun.security.provider.certpath.PolicyChecker sun.security.provider.certpath.UntrustedChecker java.security.cert.X509Certificate
StackMap stack:
aload 6
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: aload 6
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: aload 6
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: aload 6
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: aload 6
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
34: aload 6
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.basicChecker:Lsun/security/provider/certpath/BasicChecker;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: aload 4
invokevirtual java.security.cert.PKIXParameters.isRevocationEnabled:()Z
ifeq 43
36: aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.ocspEnabled:Z
ifeq 40
37: new sun.security.provider.certpath.OCSPChecker
dup
aload 2
aload 4
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.onlyEECert:Z
invokespecial sun.security.provider.certpath.OCSPChecker.<init>:(Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;Z)V
38: astore 15
start local 15 39: aload 6
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 40: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.CrlRevocationChecker
dup
aload 1
aload 4
aload 3
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.onlyEECert:Z
41: invokespecial sun.security.provider.certpath.CrlRevocationChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PKIXParameters;Ljava/util/Collection;Z)V
astore 15
start local 15 42: aload 6
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 43: StackMap locals:
StackMap stack:
aload 6
aload 0
getfield sun.security.provider.certpath.PKIXCertPathValidator.userCheckers:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
44: new sun.security.provider.certpath.PKIXMasterCertPathValidator
dup
aload 6
invokespecial sun.security.provider.certpath.PKIXMasterCertPathValidator.<init>:(Ljava/util/List;)V
45: astore 15
start local 15 46: aload 15
aload 2
aload 3
invokevirtual sun.security.provider.certpath.PKIXMasterCertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/util/List;)V
47: aload 12
invokevirtual sun.security.provider.certpath.PolicyChecker.getPolicyTree:()Ljava/security/cert/PolicyNode;
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
0 48 1 anchor Ljava/security/cert/TrustAnchor;
0 48 2 cpOriginal Ljava/security/cert/CertPath;
0 48 3 certList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
0 48 4 pkixParam Ljava/security/cert/PKIXParameters;
0 48 5 rootNode Lsun/security/provider/certpath/PolicyNodeImpl;
2 48 6 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
3 48 7 certPathLen I
5 48 8 variant Ljava/lang/String;
10 48 9 algorithmChecker Lsun/security/provider/certpath/AlgorithmChecker;
13 48 10 keyChecker Lsun/security/provider/certpath/KeyChecker;
15 48 11 constraintsChecker Lsun/security/provider/certpath/ConstraintsChecker;
23 48 12 policyChecker Lsun/security/provider/certpath/PolicyChecker;
24 48 13 untrustedChecker Lsun/security/provider/certpath/UntrustedChecker;
25 48 14 anchorCert Ljava/security/cert/X509Certificate;
39 40 15 ocspChecker Lsun/security/provider/certpath/OCSPChecker;
42 43 15 revocationChecker Lsun/security/provider/certpath/CrlRevocationChecker;
46 48 15 masterValidator Lsun/security/provider/certpath/PKIXMasterCertPathValidator;
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/security/cert/TrustAnchor;Ljava/security/cert/CertPath;Ljava/util/List<Ljava/security/cert/X509Certificate;>;Ljava/security/cert/PKIXParameters;Lsun/security/provider/certpath/PolicyNodeImpl;)Ljava/security/cert/PolicyNode;
MethodParameters:
Name Flags
anchor
cpOriginal
certList
pkixParam
rootNode
}
SourceFile: "PKIXCertPathValidator.java"