class sun.security.provider.certpath.OCSPChecker extends java.security.cert.PKIXCertPathChecker
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.OCSPChecker
super_class: java.security.cert.PKIXCertPathChecker
{
static final java.lang.String OCSP_ENABLE_PROP;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ocsp.enable"
static final java.lang.String OCSP_URL_PROP;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ocsp.responderURL"
static final java.lang.String OCSP_CERT_SUBJECT_PROP;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ocsp.responderCertSubjectName"
static final java.lang.String OCSP_CERT_ISSUER_PROP;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ocsp.responderCertIssuerName"
static final java.lang.String OCSP_CERT_NUMBER_PROP;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ocsp.responderCertSerialNumber"
private static final java.lang.String HEX_DIGITS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "0123456789ABCDEFabcdef"
private static final sun.security.util.Debug DEBUG;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean dump;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private int remainingCerts;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509Certificate[] certs;
descriptor: [Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.CertPath cp;
descriptor: Ljava/security/cert/CertPath;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.PKIXParameters pkixParams;
descriptor: Ljava/security/cert/PKIXParameters;
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.OCSPChecker.DEBUG:Lsun/security/util/Debug;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.cert.CertPath, java.security.cert.PKIXParameters);
descriptor: (Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial sun.security.provider.certpath.OCSPChecker.<init>:(Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/certpath/OCSPChecker;
0 2 1 certPath Ljava/security/cert/CertPath;
0 2 2 pkixParams Ljava/security/cert/PKIXParameters;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
pkixParams
void <init>(java.security.cert.CertPath, java.security.cert.PKIXParameters, boolean);
descriptor: (Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;Z)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.security.cert.PKIXCertPathChecker.<init>:()V
1: aload 0
iconst_0
putfield sun.security.provider.certpath.OCSPChecker.onlyEECert:Z
2: aload 0
aload 1
putfield sun.security.provider.certpath.OCSPChecker.cp:Ljava/security/cert/CertPath;
3: aload 0
aload 2
putfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
4: aload 0
iload 3
putfield sun.security.provider.certpath.OCSPChecker.onlyEECert:Z
5: aload 0
getfield sun.security.provider.certpath.OCSPChecker.cp:Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 4
start local 4 6: aload 0
aload 4
aload 4
invokeinterface java.util.List.size:()I
anewarray java.security.cert.X509Certificate
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
putfield sun.security.provider.certpath.OCSPChecker.certs:[Ljava/security/cert/X509Certificate;
7: aload 0
iconst_0
invokevirtual sun.security.provider.certpath.OCSPChecker.init:(Z)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/certpath/OCSPChecker;
0 9 1 certPath Ljava/security/cert/CertPath;
0 9 2 pkixParams Ljava/security/cert/PKIXParameters;
0 9 3 onlyEECert Z
6 9 4 tmp Ljava/util/List<+Ljava/security/cert/Certificate;>;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
certPath
pkixParams
onlyEECert
public void init(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 3
1: aload 0
aload 0
getfield sun.security.provider.certpath.OCSPChecker.certs:[Ljava/security/cert/X509Certificate;
arraylength
putfield sun.security.provider.certpath.OCSPChecker.remainingCerts:I
2: goto 6
3: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
4: ldc "Forward checking not supported"
5: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/provider/certpath/OCSPChecker;
0 7 1 forward Z
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
forward
public boolean isForwardCheckingSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPChecker;
public java.util.Set<java.lang.String> getSupportedExtensions();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPChecker;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>);
descriptor: (Ljava/security/cert/Certificate;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
checkcast java.security.cert.X509Certificate
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 3
2: goto 5
StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl
StackMap stack: java.security.cert.CertificateException
3: astore 4
start local 4 4: new java.security.cert.CertPathValidatorException
dup
aload 4
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPChecker.onlyEECert:Z
ifeq 9
aload 3
invokevirtual sun.security.x509.X509CertImpl.getBasicConstraints:()I
iconst_m1
if_icmpeq 9
6: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 8
7: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ldc "Skipping revocation check, not end entity cert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
invokestatic sun.security.provider.certpath.OCSPChecker.getOCSPProperties:()[Ljava/lang/String;
astore 4
start local 4 10: aload 3
aload 4
iconst_0
aaload
invokestatic sun.security.provider.certpath.OCSPChecker.getOCSPServerURI:(Lsun/security/x509/X509CertImpl;Ljava/lang/String;)Ljava/net/URI;
astore 5
start local 5 11: aconst_null
astore 6
start local 6 12: aconst_null
astore 7
start local 7 13: aconst_null
astore 8
start local 8 14: aload 4
iconst_1
aaload
ifnull 17
15: new javax.security.auth.x500.X500Principal
dup
aload 4
iconst_1
aaload
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
astore 6
16: goto 26
StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger
StackMap stack:
17: aload 4
iconst_2
aaload
ifnull 22
aload 4
iconst_3
aaload
ifnull 22
18: new javax.security.auth.x500.X500Principal
dup
aload 4
iconst_2
aaload
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
astore 7
19: aload 4
iconst_3
aaload
invokestatic sun.security.provider.certpath.OCSPChecker.stripOutSeparators:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 20: new java.math.BigInteger
dup
aload 9
bipush 16
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
astore 8
end local 9 21: goto 26
StackMap locals:
StackMap stack:
22: aload 4
iconst_2
aaload
ifnonnull 23
aload 4
iconst_3
aaload
ifnull 26
23: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
24: ldc "Must specify both ocsp.responderCertIssuerName and ocsp.responderCertSerialNumber properties"
25: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 27: aload 6
ifnonnull 28
aload 7
ifnull 29
28: StackMap locals: int
StackMap stack:
iconst_1
istore 9
29: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 30: iconst_1
istore 11
start local 11 31: aconst_null
astore 12
start local 12 32: aload 0
getfield sun.security.provider.certpath.OCSPChecker.remainingCerts:I
aload 0
getfield sun.security.provider.certpath.OCSPChecker.certs:[Ljava/security/cert/X509Certificate;
arraylength
if_icmpge 39
33: aload 0
getfield sun.security.provider.certpath.OCSPChecker.certs:[Ljava/security/cert/X509Certificate;
aload 0
getfield sun.security.provider.certpath.OCSPChecker.remainingCerts:I
aaload
astore 10
34: iconst_0
istore 11
35: iload 9
ifne 39
36: aload 10
astore 12
37: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 39
38: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ldc "Responder's certificate is the same as the issuer of the certificate being validated"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
39: StackMap locals: java.security.cert.X509Certificate int java.security.cert.X509Certificate
StackMap stack:
iload 11
ifne 40
iload 9
ifeq 139
40: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 42
iload 9
ifeq 42
41: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ldc "Searching trust anchors for responder's certificate"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
invokevirtual java.security.cert.PKIXParameters.getTrustAnchors:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
43: astore 13
start local 13 44: aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
45: new java.security.cert.CertPathValidatorException
dup
46: ldc "Must specify at least one trust anchor"
47: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
49: astore 14
start local 14 50: goto 78
51: StackMap locals: javax.security.auth.x500.X500Principal
StackMap stack:
aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.TrustAnchor
astore 15
start local 15 52: aload 15
invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
astore 16
start local 16 53: aload 16
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
54: astore 17
start local 17 55: iload 11
ifeq 63
56: aload 14
aload 17
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 63
57: aload 16
astore 10
58: iconst_0
istore 11
59: iload 9
ifne 63
aload 12
ifnonnull 63
60: aload 16
astore 12
61: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 63
62: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ldc "Responder's certificate is the same as the issuer of the certificate being validated"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
63: StackMap locals: java.security.cert.TrustAnchor java.security.cert.X509Certificate javax.security.auth.x500.X500Principal
StackMap stack:
iload 9
ifeq 78
64: aload 6
ifnull 66
65: aload 6
aload 17
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 76
66: StackMap locals:
StackMap stack:
aload 7
ifnull 78
67: aload 8
ifnull 78
68: aload 7
69: aload 16
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
70: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
71: ifeq 78
72: aload 8
73: aload 16
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
74: invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
75: ifeq 78
76: StackMap locals:
StackMap stack:
aload 16
astore 12
77: iconst_0
istore 9
end local 17 end local 16 end local 15 78: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 79
iload 11
ifne 51
iload 9
ifne 51
79: StackMap locals:
StackMap stack:
aload 10
ifnonnull 83
80: new java.security.cert.CertPathValidatorException
dup
81: new java.lang.StringBuilder
dup
ldc "No trusted certificate for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
83: StackMap locals:
StackMap stack:
iload 9
ifeq 110
84: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 86
85: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ldc "Searching cert stores for responder's certificate"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
86: StackMap locals:
StackMap stack:
aconst_null
astore 15
start local 15 87: aload 6
ifnull 91
88: new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
astore 15
89: aload 15
aload 6
invokevirtual java.security.cert.X509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
90: goto 96
StackMap locals: java.security.cert.X509CertSelector
StackMap stack:
91: aload 7
ifnull 96
92: aload 8
ifnull 96
93: new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
astore 15
94: aload 15
aload 7
invokevirtual java.security.cert.X509CertSelector.setIssuer:(Ljavax/security/auth/x500/X500Principal;)V
95: aload 15
aload 8
invokevirtual java.security.cert.X509CertSelector.setSerialNumber:(Ljava/math/BigInteger;)V
96: StackMap locals:
StackMap stack:
aload 15
ifnull 110
97: aload 0
getfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
invokevirtual java.security.cert.PKIXParameters.getCertStores:()Ljava/util/List;
astore 16
start local 16 98: aload 16
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 109
StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate java.util.Iterator javax.security.auth.x500.X500Principal java.security.cert.X509CertSelector java.util.List top java.util.Iterator
StackMap stack:
99: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.CertStore
astore 17
start local 17 100: aload 17
aload 15
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 20
101: aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 104
aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 19
start local 19 102: aload 19
checkcast java.security.cert.X509Certificate
astore 12
103: iconst_0
istore 9
end local 19 104: StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate java.util.Iterator javax.security.auth.x500.X500Principal java.security.cert.X509CertSelector java.util.List java.security.cert.CertStore java.util.Iterator
StackMap stack:
iload 9
ifne 109
105: goto 110
106: StackMap locals:
StackMap stack: java.security.cert.CertStoreException
astore 19
start local 19 107: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
ifnull 109
108: getstatic sun.security.provider.certpath.OCSPChecker.DEBUG:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "CertStore exception:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 19 end local 17 109: StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate java.util.Iterator javax.security.auth.x500.X500Principal java.security.cert.X509CertSelector java.util.List top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 99
end local 16 end local 15 110: StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate java.util.Iterator javax.security.auth.x500.X500Principal
StackMap stack:
iload 9
ifeq 114
111: new java.security.cert.CertPathValidatorException
dup
112: ldc "Cannot find the responder's certificate (set using the OCSP security properties)."
113: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
114: StackMap locals:
StackMap stack:
aconst_null
astore 15
start local 15 115: aconst_null
astore 16
start local 16 116: new sun.security.provider.certpath.CertId
dup
117: aload 10
aload 3
invokevirtual sun.security.x509.X509CertImpl.getSerialNumberObject:()Lsun/security/x509/SerialNumber;
118: invokespecial sun.security.provider.certpath.CertId.<init>:(Ljava/security/cert/X509Certificate;Lsun/security/x509/SerialNumber;)V
astore 15
119: aconst_null
astore 17
start local 17 120: aload 0
getfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
instanceof sun.security.provider.certpath.PKIXExtendedParameters
ifeq 122
121: aload 0
getfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
checkcast sun.security.provider.certpath.PKIXExtendedParameters
invokevirtual sun.security.provider.certpath.PKIXExtendedParameters.getVariant:()Ljava/lang/String;
astore 17
122: StackMap locals: sun.security.provider.certpath.CertId sun.security.provider.certpath.OCSPResponse java.lang.String
StackMap stack:
aload 15
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
aload 5
aconst_null
123: aload 12
aload 0
getfield sun.security.provider.certpath.OCSPChecker.pkixParams:Ljava/security/cert/PKIXParameters;
invokevirtual java.security.cert.PKIXParameters.getDate:()Ljava/util/Date;
aload 17
124: invokestatic sun.security.provider.certpath.OCSP.check:(Ljava/util/List;Ljava/net/URI;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSPResponse;
astore 16
end local 17 125: goto 130
StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate java.util.Iterator javax.security.auth.x500.X500Principal sun.security.provider.certpath.CertId sun.security.provider.certpath.OCSPResponse
StackMap stack: java.lang.Exception
126: astore 17
start local 17 127: aload 17
instanceof java.security.cert.CertPathValidatorException
ifeq 129
128: aload 17
checkcast java.security.cert.CertPathValidatorException
athrow
129: StackMap locals: java.lang.Exception
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
aload 17
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 17 130: StackMap locals:
StackMap stack:
aload 16
aload 15
invokevirtual sun.security.provider.certpath.OCSPResponse.getSingleResponse:(Lsun/security/provider/certpath/CertId;)Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
astore 17
start local 17 131: aload 17
invokeinterface sun.security.provider.certpath.OCSP$RevocationStatus.getCertStatus:()Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
astore 18
start local 18 132: aload 18
getstatic sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus.REVOKED:Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
if_acmpne 134
133: new sun.security.provider.certpath.CertificateRevokedException
dup
aload 0
getfield sun.security.provider.certpath.OCSPChecker.cp:Ljava/security/cert/CertPath;
aload 0
getfield sun.security.provider.certpath.OCSPChecker.remainingCerts:I
iconst_1
isub
invokespecial sun.security.provider.certpath.CertificateRevokedException.<init>:(Ljava/security/cert/CertPath;I)V
athrow
134: StackMap locals: sun.security.provider.certpath.OCSP$RevocationStatus sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus
StackMap stack:
aload 18
getstatic sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus.UNKNOWN:Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
if_acmpne 139
135: new java.security.cert.CertPathValidatorException
dup
136: ldc "Certificate's revocation status is unknown"
aconst_null
aload 0
getfield sun.security.provider.certpath.OCSPChecker.cp:Ljava/security/cert/CertPath;
137: aload 0
getfield sun.security.provider.certpath.OCSPChecker.remainingCerts:I
iconst_1
isub
138: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
athrow
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 139: StackMap locals: sun.security.provider.certpath.OCSPChecker java.security.cert.Certificate java.util.Collection sun.security.x509.X509CertImpl java.lang.String[] java.net.URI javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal java.math.BigInteger int java.security.cert.X509Certificate int java.security.cert.X509Certificate
StackMap stack:
return
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 140 0 this Lsun/security/provider/certpath/OCSPChecker;
0 140 1 cert Ljava/security/cert/Certificate;
0 140 2 unresolvedCritExts Ljava/util/Collection<Ljava/lang/String;>;
1 140 3 currCertImpl Lsun/security/x509/X509CertImpl;
4 5 4 ce Ljava/security/cert/CertificateException;
10 140 4 properties [Ljava/lang/String;
11 140 5 uri Ljava/net/URI;
12 140 6 responderSubjectName Ljavax/security/auth/x500/X500Principal;
13 140 7 responderIssuerName Ljavax/security/auth/x500/X500Principal;
14 140 8 responderSerialNumber Ljava/math/BigInteger;
20 21 9 value Ljava/lang/String;
27 140 9 seekResponderCert Z
30 140 10 issuerCert Ljava/security/cert/X509Certificate;
31 140 11 seekIssuerCert Z
32 140 12 responderCert Ljava/security/cert/X509Certificate;
44 139 13 anchors Ljava/util/Iterator<Ljava/security/cert/TrustAnchor;>;
50 139 14 certIssuerName Ljavax/security/auth/x500/X500Principal;
52 78 15 anchor Ljava/security/cert/TrustAnchor;
53 78 16 anchorCert Ljava/security/cert/X509Certificate;
55 78 17 anchorSubjectName Ljavax/security/auth/x500/X500Principal;
87 110 15 filter Ljava/security/cert/X509CertSelector;
98 110 16 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
100 109 17 certStore Ljava/security/cert/CertStore;
102 104 19 selected Ljava/security/cert/Certificate;
107 109 19 cse Ljava/security/cert/CertStoreException;
115 139 15 certId Lsun/security/provider/certpath/CertId;
116 139 16 response Lsun/security/provider/certpath/OCSPResponse;
120 125 17 variant Ljava/lang/String;
127 130 17 e Ljava/lang/Exception;
131 139 17 rs Lsun/security/provider/certpath/OCSP$RevocationStatus;
132 139 18 certStatus Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertificateException
100 105 106 Class java.security.cert.CertStoreException
116 125 126 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/security/cert/Certificate;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
cert
unresolvedCritExts
private static java.net.URI getOCSPServerURI(sun.security.x509.X509CertImpl, java.lang.String);
descriptor: (Lsun/security/x509/X509CertImpl;Ljava/lang/String;)Ljava/net/URI;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: new java.net.URI
dup
aload 1
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
2: areturn
3: StackMap locals:
StackMap stack: java.net.URISyntaxException
astore 2
start local 2 4: new java.security.cert.CertPathValidatorException
dup
aload 2
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
6: astore 2
start local 2 7: aload 2
ifnonnull 11
8: new java.security.cert.CertPathValidatorException
dup
9: ldc "Must specify the location of an OCSP Responder"
10: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: sun.security.x509.AuthorityInfoAccessExtension
StackMap stack:
aload 2
invokevirtual sun.security.x509.AuthorityInfoAccessExtension.getAccessDescriptions:()Ljava/util/List;
astore 3
start local 3 12: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 22
StackMap locals: sun.security.x509.X509CertImpl java.lang.String sun.security.x509.AuthorityInfoAccessExtension java.util.List top java.util.Iterator
StackMap stack:
13: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.AccessDescription
astore 4
start local 4 14: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
15: getstatic sun.security.x509.AccessDescription.Ad_OCSP_Id:Lsun/security/util/ObjectIdentifier;
16: invokevirtual sun.security.util.ObjectIdentifier.equals:(Lsun/security/util/ObjectIdentifier;)Z
17: ifeq 22
18: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
astore 6
start local 6 19: aload 6
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 22
20: aload 6
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 7
start local 7 21: aload 7
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
areturn
end local 7 end local 6 end local 4 22: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
23: new java.security.cert.CertPathValidatorException
dup
24: ldc "Cannot find the location of the OCSP Responder"
25: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 currCertImpl Lsun/security/x509/X509CertImpl;
0 26 1 responderURL Ljava/lang/String;
4 5 2 e Ljava/net/URISyntaxException;
7 26 2 aia Lsun/security/x509/AuthorityInfoAccessExtension;
12 26 3 descriptions Ljava/util/List<Lsun/security/x509/AccessDescription;>;
14 22 4 description Lsun/security/x509/AccessDescription;
19 22 6 generalName Lsun/security/x509/GeneralName;
21 22 7 uri Lsun/security/x509/URIName;
Exception table:
from to target type
1 2 3 Class java.net.URISyntaxException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
currCertImpl
responderURL
private static java.lang.String[] getOCSPProperties();
descriptor: ()[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: iconst_4
anewarray java.lang.String
astore 0
start local 0 1: new sun.security.provider.certpath.OCSPChecker$1
dup
aload 0
invokespecial sun.security.provider.certpath.OCSPChecker$1.<init>:([Ljava/lang/String;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 properties [Ljava/lang/String;
private static java.lang.String stripOutSeparators(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: char[] java.lang.StringBuilder int
StackMap stack:
ldc "0123456789ABCDEFabcdef"
aload 1
iload 3
caload
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 6
5: aload 2
aload 1
iload 3
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 value Ljava/lang/String;
1 9 1 chars [C
2 9 2 hexNumber Ljava/lang/StringBuilder;
3 8 3 i I
MethodParameters:
Name Flags
value
}
SourceFile: "OCSPChecker.java"
NestMembers:
sun.security.provider.certpath.OCSPChecker$1
InnerClasses:
public abstract RevocationStatus = sun.security.provider.certpath.OCSP$RevocationStatus of sun.security.provider.certpath.OCSP
public final CertStatus = sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus of sun.security.provider.certpath.OCSP$RevocationStatus
sun.security.provider.certpath.OCSPChecker$1
final IssuerInfo = sun.security.provider.certpath.OCSPResponse$IssuerInfo of sun.security.provider.certpath.OCSPResponse
public final SingleResponse = sun.security.provider.certpath.OCSPResponse$SingleResponse of sun.security.provider.certpath.OCSPResponse