public final class sun.security.provider.certpath.PKIXCertPathValidator extends java.security.cert.CertPathValidatorSpi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, 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
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=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.cert.CertPathValidatorSpi.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
public sun.security.provider.certpath.CertPathChecker engineGetRevocationChecker();
descriptor: ()Lsun/security/provider/certpath/CertPathChecker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new sun.security.provider.certpath.RevocationChecker
dup
invokespecial sun.security.provider.certpath.RevocationChecker.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 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=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic sun.security.provider.certpath.PKIX.checkParams:(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Lsun/security/provider/certpath/PKIX$ValidatorParams;
astore 3
start local 3 1: aload 3
invokestatic sun.security.provider.certpath.PKIXCertPathValidator.validate:(Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/certpath/PKIXCertPathValidator;
0 2 1 cp Ljava/security/cert/CertPath;
0 2 2 params Ljava/security/cert/CertPathParameters;
1 2 3 valParams Lsun/security/provider/certpath/PKIX$ValidatorParams;
Exceptions:
throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
cp
params
private static java.security.cert.PKIXCertPathValidatorResult validate(sun.security.provider.certpath.PKIX$ValidatorParams);
descriptor: (Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=8, args_size=1
start local 0 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:
aconst_null
astore 1
start local 1 3: aload 0
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certificates:()Ljava/util/List;
astore 2
start local 2 4: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 14
5: new sun.security.provider.certpath.AdaptableX509CertSelector
dup
invokespecial sun.security.provider.certpath.AdaptableX509CertSelector.<init>:()V
astore 1
6: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 7: aload 1
aload 3
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
8: aload 3
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 4
start local 4 9: aload 1
10: aload 4
invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
11: invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.parseAuthorityKeyIdentifierExtension:(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
end local 4 12: goto 14
StackMap locals: sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.AdaptableX509CertSelector java.util.List java.security.cert.X509Certificate
StackMap stack: java.lang.Exception
13: pop
end local 3 14: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 15: aload 0
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.trustAnchors:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 35
StackMap locals: sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.AdaptableX509CertSelector java.util.List java.security.cert.CertPathValidatorException top java.util.Iterator
StackMap stack:
16: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 4
start local 4 17: aload 4
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 6
start local 6 18: aload 6
ifnull 29
19: aload 1
ifnull 23
aload 1
aload 6
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifne 23
20: getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 35
21: 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
22: goto 35
23: StackMap locals: sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.AdaptableX509CertSelector java.util.List java.security.cert.CertPathValidatorException java.security.cert.TrustAnchor java.util.Iterator java.security.cert.X509Certificate
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 31
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: 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
26: aload 6
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;
27: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
28: goto 31
29: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 31
30: 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
31: StackMap locals:
StackMap stack:
aload 4
aload 0
invokestatic sun.security.provider.certpath.PKIXCertPathValidator.validate:(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
32: areturn
33: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 7
start local 7 34: aload 7
astore 3
end local 7 end local 6 end local 4 35: StackMap locals: sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.AdaptableX509CertSelector java.util.List java.security.cert.CertPathValidatorException top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
36: aload 3
ifnull 38
37: aload 3
athrow
38: StackMap locals: sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.AdaptableX509CertSelector java.util.List java.security.cert.CertPathValidatorException
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
39: ldc "Path does not chain with any of the trust anchors"
40: aconst_null
aconst_null
iconst_m1
getstatic java.security.cert.PKIXReason.NO_TRUST_ANCHOR:Ljava/security/cert/PKIXReason;
41: 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 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 params Lsun/security/provider/certpath/PKIX$ValidatorParams;
3 42 1 selector Lsun/security/provider/certpath/AdaptableX509CertSelector;
4 42 2 certList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
7 14 3 firstCert Ljava/security/cert/X509Certificate;
9 12 4 firstCertImpl Lsun/security/x509/X509CertImpl;
15 42 3 lastException Ljava/security/cert/CertPathValidatorException;
17 35 4 anchor Ljava/security/cert/TrustAnchor;
18 35 6 trustedCert Ljava/security/cert/X509Certificate;
34 35 7 cpe Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
8 12 13 Class java.security.cert.CertificateException
8 12 13 Class java.io.IOException
31 32 33 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
params
private static java.security.cert.PKIXCertPathValidatorResult validate(java.security.cert.TrustAnchor, sun.security.provider.certpath.PKIX$ValidatorParams);
descriptor: (Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=14, args_size=2
start local 0 start local 1 0: new sun.security.provider.certpath.UntrustedChecker
dup
invokespecial sun.security.provider.certpath.UntrustedChecker.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 3
start local 3 2: aload 3
ifnull 6
3: aload 2
aload 3
4: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
5: invokevirtual sun.security.provider.certpath.UntrustedChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
6: StackMap locals: sun.security.provider.certpath.UntrustedChecker java.security.cert.X509Certificate
StackMap stack:
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certificates:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 4
start local 4 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 8: aload 5
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 5
new sun.security.provider.certpath.AlgorithmChecker
dup
aload 0
aconst_null
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
10: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.timestamp:()Ljava/security/Timestamp;
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/AlgorithmConstraints;Ljava/util/Date;Ljava/security/Timestamp;Ljava/lang/String;)V
11: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 5
new sun.security.provider.certpath.KeyChecker
dup
iload 4
13: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.targetCertConstraints:()Ljava/security/cert/CertSelector;
invokespecial sun.security.provider.certpath.KeyChecker.<init>:(ILjava/security/cert/CertSelector;)V
14: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 5
new sun.security.provider.certpath.ConstraintsChecker
dup
iload 4
invokespecial sun.security.provider.certpath.ConstraintsChecker.<init>:(I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: new sun.security.provider.certpath.PolicyNodeImpl
dup
aconst_null
ldc "2.5.29.32.0"
aconst_null
iconst_0
17: ldc "2.5.29.32.0"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
18: iconst_0
19: invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
20: astore 6
start local 6 21: new sun.security.provider.certpath.PolicyChecker
dup
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.initialPolicies:()Ljava/util/Set;
22: iload 4
23: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.explicitPolicyRequired:()Z
24: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.policyMappingInhibited:()Z
25: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.anyPolicyInhibited:()Z
26: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.policyQualifiersRejected:()Z
27: aload 6
28: invokespecial sun.security.provider.certpath.PolicyChecker.<init>:(Ljava/util/Set;IZZZZLsun/security/provider/certpath/PolicyNodeImpl;)V
astore 7
start local 7 29: aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: aconst_null
astore 8
start local 8 31: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
ldc "code signing"
if_acmpeq 33
32: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
ldc "plugin code signing"
if_acmpne 36
33: StackMap locals: java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.UntrustedChecker java.security.cert.X509Certificate int java.util.List sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyChecker java.util.Date
StackMap stack:
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.timestamp:()Ljava/security/Timestamp;
ifnull 36
34: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.timestamp:()Ljava/security/Timestamp;
invokevirtual java.security.Timestamp.getTimestamp:()Ljava/util/Date;
astore 8
35: goto 37
36: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
astore 8
37: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.BasicChecker
dup
aload 0
aload 8
38: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.sigProvider:()Ljava/lang/String;
iconst_0
39: invokespecial sun.security.provider.certpath.BasicChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;Z)V
astore 9
start local 9 40: aload 5
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: iconst_0
istore 10
start local 10 42: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certPathCheckers:()Ljava/util/List;
astore 11
start local 11 43: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 49
StackMap locals: java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.UntrustedChecker java.security.cert.X509Certificate int java.util.List sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyChecker java.util.Date sun.security.provider.certpath.BasicChecker int java.util.List top java.util.Iterator
StackMap stack:
44: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 12
start local 12 45: aload 12
instanceof sun.security.provider.certpath.PKIXRevocationChecker
ifeq 49
46: iconst_1
istore 10
47: aload 12
instanceof sun.security.provider.certpath.RevocationChecker
ifeq 49
48: aload 12
checkcast sun.security.provider.certpath.RevocationChecker
aload 0
aload 1
invokevirtual sun.security.provider.certpath.RevocationChecker.init:(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
end local 12 49: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
50: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.revocationEnabled:()Z
ifeq 52
iload 10
ifne 52
51: aload 5
new sun.security.provider.certpath.RevocationChecker
dup
aload 0
aload 1
invokespecial sun.security.provider.certpath.RevocationChecker.<init>:(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
52: StackMap locals: java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.UntrustedChecker java.security.cert.X509Certificate int java.util.List sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyChecker java.util.Date sun.security.provider.certpath.BasicChecker int java.util.List
StackMap stack:
aload 5
aload 11
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
53: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certPath:()Ljava/security/cert/CertPath;
54: aload 1
invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certificates:()Ljava/util/List;
55: aload 5
56: invokestatic sun.security.provider.certpath.PKIXMasterCertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/util/List;Ljava/util/List;)V
57: new java.security.cert.PKIXCertPathValidatorResult
dup
aload 0
aload 7
invokevirtual sun.security.provider.certpath.PolicyChecker.getPolicyTree:()Ljava/security/cert/PolicyNode;
58: aload 9
invokevirtual sun.security.provider.certpath.BasicChecker.getPublicKey:()Ljava/security/PublicKey;
59: invokespecial java.security.cert.PKIXCertPathValidatorResult.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
areturn
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 60 0 anchor Ljava/security/cert/TrustAnchor;
0 60 1 params Lsun/security/provider/certpath/PKIX$ValidatorParams;
1 60 2 untrustedChecker Lsun/security/provider/certpath/UntrustedChecker;
2 60 3 anchorCert Ljava/security/cert/X509Certificate;
7 60 4 certPathLen I
8 60 5 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
21 60 6 rootNode Lsun/security/provider/certpath/PolicyNodeImpl;
29 60 7 pc Lsun/security/provider/certpath/PolicyChecker;
31 60 8 timeToCheck Ljava/util/Date;
40 60 9 bc Lsun/security/provider/certpath/BasicChecker;
42 60 10 revCheckerAdded Z
43 60 11 checkers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
45 49 12 checker Ljava/security/cert/PKIXCertPathChecker;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
anchor
params
}
SourceFile: "PKIXCertPathValidator.java"
InnerClasses:
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
ValidatorParams = sun.security.provider.certpath.PKIX$ValidatorParams of sun.security.provider.certpath.PKIX