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
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>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/PKIXMasterCertPathValidator;
static void validate(java.security.cert.CertPath, java.util.List<java.security.cert.X509Certificate>, java.util.List<java.security.cert.PKIXCertPathChecker>);
descriptor: (Ljava/security/cert/CertPath;Ljava/util/List;Ljava/util/List;)V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
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 46
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 1
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;
astore 6
start local 6 10: aload 6
ifnonnull 12
11: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 6
12: StackMap locals: java.security.cert.X509Certificate java.util.Set
StackMap stack:
getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 18
aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 18
13: 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
14: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: java.security.cert.CertPath java.util.List java.util.List int int java.security.cert.X509Certificate java.util.Set top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: 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 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: StackMap locals: java.security.cert.CertPath java.util.List java.util.List int int java.security.cert.X509Certificate java.util.Set
StackMap stack:
iconst_0
istore 7
start local 7 19: goto 39
20: StackMap locals: int
StackMap stack:
aload 2
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 8
start local 8 21: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 25
22: 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 7
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 8
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;
24: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals: java.security.cert.PKIXCertPathChecker
StackMap stack:
iload 4
ifne 27
26: aload 8
iconst_0
invokevirtual java.security.cert.PKIXCertPathChecker.init:(Z)V
27: StackMap locals:
StackMap stack:
aload 8
aload 5
aload 6
invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
28: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 38
29: 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 7
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
30: ldc " validation succeeded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
32: goto 38
StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
33: astore 9
start local 9 34: new java.security.cert.CertPathValidatorException
dup
aload 9
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
35: aload 9
invokevirtual java.security.cert.CertPathValidatorException.getCause:()Ljava/lang/Throwable;
aload 0
iload 3
iload 4
iconst_1
iadd
isub
36: aload 9
invokevirtual java.security.cert.CertPathValidatorException.getReason:()Ljava/security/cert/CertPathValidatorException$Reason;
37: 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 9 end local 8 38: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
39: iload 7
aload 2
invokeinterface java.util.List.size:()I
if_icmplt 20
end local 7 40: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifne 45
41: new java.security.cert.CertPathValidatorException
dup
ldc "unrecognized critical extension(s)"
42: aconst_null
aload 0
iload 3
iload 4
iconst_1
iadd
isub
43: getstatic java.security.cert.PKIXReason.UNRECOGNIZED_CRIT_EXT:Ljava/security/cert/PKIXReason;
44: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
athrow
end local 6 end local 5 45: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
46: iload 4
iload 3
if_icmplt 6
end local 4 47: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ifnull 50
48: 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
49: getstatic sun.security.provider.certpath.PKIXMasterCertPathValidator.debug:Lsun/security/util/Debug;
ldc "--------------------------------------------------------------"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 cpOriginal Ljava/security/cert/CertPath;
0 51 1 reversedCertList Ljava/util/List<Ljava/security/cert/X509Certificate;>;
0 51 2 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
1 51 3 cpSize I
5 47 4 i I
9 45 5 currCert Ljava/security/cert/X509Certificate;
10 45 6 unresCritExts Ljava/util/Set<Ljava/lang/String;>;
16 17 7 oid Ljava/lang/String;
19 40 7 j I
21 38 8 currChecker Ljava/security/cert/PKIXCertPathChecker;
34 38 9 cpve Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
27 32 33 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/security/cert/CertPath;Ljava/util/List<Ljava/security/cert/X509Certificate;>;Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;)V
MethodParameters:
Name Flags
cpOriginal
reversedCertList
certPathCheckers
}
SourceFile: "PKIXMasterCertPathValidator.java"
InnerClasses:
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException