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