class sun.security.provider.certpath.PKIXMasterCertPathValidator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.PKIXMasterCertPathValidator
super_class: java.lang.Object
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.List<java.security.cert.PKIXCertPathChecker> certPathCheckers;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
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.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.util.List<java.security.cert.PKIXCertPathChecker>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.provider.certpath.PKIXMasterCertPathValidator.certPathCheckers:Ljava/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/certpath/PKIXMasterCertPathValidator;
0 3 1 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
Signature: (Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;)V
MethodParameters:
Name Flags
certPathCheckers
void validate(java.security.cert.CertPath, java.util.List<java.security.cert.X509Certificate>);
descriptor: (Ljava/security/cert/CertPath;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=8, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.List.size:()I
istore 3
start local 3 1: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 4
2: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "--------------------------------------------------------------"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
3: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "Executing PKIX certification path validation algorithm."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
4: StackMap locals: int
StackMap stack:
iconst_0
istore 4
start local 4 5: goto 70
6: StackMap locals: int
StackMap stack:
getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 8
7: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Checking cert"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ..."
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
8: StackMap locals:
StackMap stack:
aload 2
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 5
start local 5 9: aload 5
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
10: astore 6
start local 6 11: aload 6
ifnonnull 13
12: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 6
13: StackMap locals: java.security.cert.X509Certificate java.util.Set
StackMap stack:
getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 19
aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 19
14: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "Set of critical extensions:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
15: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals: sun.security.provider.certpath.PKIXMasterCertPathValidator java.security.cert.CertPath java.util.List int int java.security.cert.X509Certificate java.util.Set top java.util.Iterator
StackMap stack:
16: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 17: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
aload 7
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 18: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: StackMap locals: sun.security.provider.certpath.PKIXMasterCertPathValidator java.security.cert.CertPath java.util.List int int java.security.cert.X509Certificate java.util.Set
StackMap stack:
aconst_null
astore 7
start local 7 20: iconst_0
istore 8
start local 8 21: goto 60
22: StackMap locals: java.security.cert.CertPathValidatorException int
StackMap stack:
aload 0
getfield sun.security.provider.certpath.PKIXMasterCertPathValidator.certPathCheckers:Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 9
start local 9 23: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 27
24: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "-Using checker"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 9
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: StackMap locals: java.security.cert.PKIXCertPathChecker
StackMap stack:
iload 4
ifne 29
28: aload 9
iconst_0
invokevirtual java.security.cert.PKIXCertPathChecker.init:(Z)V
29: StackMap locals:
StackMap stack:
aload 9
aload 5
aload 6
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
30: aload 9
iload 8
aload 0
getfield sun.security.provider.certpath.PKIXMasterCertPathValidator.certPathCheckers:Ljava/util/List;
invokestatic sun.security.provider.certpath.PKIXMasterCertPathValidator.isRevocationCheck:(Ljava/security/cert/PKIXCertPathChecker;ILjava/util/List;)Z
ifeq 57
31: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 35
32: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "-checker"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
33: ldc " validation succeeded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
iinc 8 1
36: goto 59
37: StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
astore 10
start local 10 38: aload 7
ifnull 41
39: aload 9
instanceof sun.security.provider.certpath.CrlRevocationChecker
ifeq 41
40: aload 7
athrow
41: StackMap locals: java.security.cert.CertPathValidatorException
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
aload 10
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
42: aload 10
invokevirtual java.security.cert.CertPathValidatorException.getCause:()Ljava/lang/Throwable;
ifnull 43
aload 10
invokevirtual java.security.cert.CertPathValidatorException.getCause:()Ljava/lang/Throwable;
goto 44
StackMap locals: sun.security.provider.certpath.PKIXMasterCertPathValidator java.security.cert.CertPath java.util.List int int java.security.cert.X509Certificate java.util.Set java.security.cert.CertPathValidatorException int java.security.cert.PKIXCertPathChecker java.security.cert.CertPathValidatorException
StackMap stack: new 41 new 41 java.lang.String
43: aload 10
44: StackMap locals: sun.security.provider.certpath.PKIXMasterCertPathValidator java.security.cert.CertPath java.util.List int int java.security.cert.X509Certificate java.util.Set java.security.cert.CertPathValidatorException int java.security.cert.PKIXCertPathChecker java.security.cert.CertPathValidatorException
StackMap stack: new 41 new 41 java.lang.String java.lang.Throwable
aload 1
iload 3
iload 4
iconst_1
iadd
isub
45: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
46: astore 11
start local 11 47: aload 10
instanceof sun.security.provider.certpath.CertificateRevokedException
ifeq 49
48: aload 11
athrow
49: StackMap locals: java.security.cert.CertPathValidatorException
StackMap stack:
aload 9
iload 8
aload 0
getfield sun.security.provider.certpath.PKIXMasterCertPathValidator.certPathCheckers:Ljava/util/List;
invokestatic sun.security.provider.certpath.PKIXMasterCertPathValidator.isRevocationCheck:(Ljava/security/cert/PKIXCertPathChecker;ILjava/util/List;)Z
ifne 51
50: aload 11
athrow
51: StackMap locals:
StackMap stack:
aload 11
astore 7
52: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 57
53: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
aload 10
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
54: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
55: ldc "preparing to failover (from OCSP to CRLs)"
56: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 11 end local 10 57: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 59
58: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "-checker"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " validation succeeded"
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
end local 9 59: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
60: iload 8
aload 0
getfield sun.security.provider.certpath.PKIXMasterCertPathValidator.certPathCheckers:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 22
end local 8 61: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 63
62: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "checking for unresolvedCritExts"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
63: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 67
64: new java.security.cert.CertPathValidatorException
dup
ldc "unrecognized critical extension(s)"
65: aconst_null
aload 1
iload 3
iload 4
iconst_1
iadd
isub
66: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
67: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 69
68: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "\ncert"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " validation succeeded.\n"
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
end local 7 end local 6 end local 5 69: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
70: iload 4
iload 3
if_icmplt 6
end local 4 71: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 74
72: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "Cert path validation succeeded. (PKIX validation algorithm)"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
73: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "--------------------------------------------------------------"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
74: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lsun/security/provider/certpath/PKIXMasterCertPathValidator;
0 75 1 cpOriginal Ljava/security/cert/CertPath;
0 75 2 reversedCertList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
1 75 3 cpSize I
5 71 4 i I
9 69 5 currCert Ljava/security/cert/X509Certificate;
11 69 6 unresolvedCritExts Ljava/util/Set<Ljava/lang/String;>;
17 18 7 oid Ljava/lang/String;
20 69 7 ocspCause Ljava/security/cert/CertPathValidatorException;
21 61 8 j I
23 59 9 currChecker Ljava/security/cert/PKIXCertPathChecker;
38 57 10 cpve Ljava/security/cert/CertPathValidatorException;
47 57 11 currentCause Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
29 36 37 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/security/cert/CertPath;Ljava/util/List<Ljava/security/cert/X509Certificate;>;)V
MethodParameters:
Name Flags
cpOriginal
reversedCertList
private static boolean isRevocationCheck(java.security.cert.PKIXCertPathChecker, int, java.util.List<java.security.cert.PKIXCertPathChecker>);
descriptor: (Ljava/security/cert/PKIXCertPathChecker;ILjava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof sun.security.provider.certpath.OCSPChecker
ifeq 4
iload 1
iconst_1
iadd
aload 2
invokeinterface java.util.List.size:()I
if_icmpge 4
1: aload 2
iload 1
iconst_1
iadd
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 3
start local 3 2: aload 3
instanceof sun.security.provider.certpath.CrlRevocationChecker
ifeq 4
3: iconst_1
ireturn
end local 3 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 checker Ljava/security/cert/PKIXCertPathChecker;
0 5 1 index I
0 5 2 checkers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
2 4 3 nextChecker Ljava/security/cert/PKIXCertPathChecker;
Signature: (Ljava/security/cert/PKIXCertPathChecker;ILjava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;)Z
MethodParameters:
Name Flags
checker
index
checkers
}
SourceFile: "PKIXMasterCertPathValidator.java"