public final class sun.security.provider.certpath.OCSPResponse
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.provider.certpath.OCSPResponse
super_class: java.lang.Object
{
private static final sun.security.provider.certpath.OCSPResponse$ResponseStatus[] rsvalues;
descriptor: [Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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
private static final sun.security.util.ObjectIdentifier OCSP_BASIC_RESPONSE_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int CERT_STATUS_GOOD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int CERT_STATUS_REVOKED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int CERT_STATUS_UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int NAME_TAG;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int KEY_TAG;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int DEFAULT_MAX_CLOCK_SKEW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 900000
private static final int MAX_CLOCK_SKEW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.cert.CRLReason[] values;
descriptor: [Ljava/security/cert/CRLReason;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final sun.security.provider.certpath.OCSPResponse$ResponseStatus responseStatus;
descriptor: Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<sun.security.provider.certpath.CertId, sun.security.provider.certpath.OCSPResponse$SingleResponse> singleResponseMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lsun/security/provider/certpath/CertId;Lsun/security/provider/certpath/OCSPResponse$SingleResponse;>;
private final sun.security.x509.AlgorithmId sigAlgId;
descriptor: Lsun/security/x509/AlgorithmId;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] signature;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] tbsResponseData;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] responseNonce;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.List<sun.security.x509.X509CertImpl> certs;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lsun/security/x509/X509CertImpl;>;
private sun.security.x509.X509CertImpl signerCert;
descriptor: Lsun/security/x509/X509CertImpl;
flags: (0x0002) ACC_PRIVATE
private final sun.security.provider.certpath.ResponderId respId;
descriptor: Lsun/security/provider/certpath/ResponderId;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Date producedAtDate;
descriptor: Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.String, java.security.cert.Extension> responseExtensions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/security/cert/Extension;>;
private static volatile int[] $SWITCH_TABLE$sun$security$provider$certpath$OCSPResponse$ResponseStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.values:()[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
putstatic sun.security.provider.certpath.OCSPResponse.rsvalues:[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
1: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
2: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 3
ldc "ocsp"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: putstatic sun.security.provider.certpath.OCSPResponse.dump:Z
5: getstatic sun.security.util.KnownOIDs.OCSPBasicResponse:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
6: putstatic sun.security.provider.certpath.OCSPResponse.OCSP_BASIC_RESPONSE_OID:Lsun/security/util/ObjectIdentifier;
7: invokestatic sun.security.provider.certpath.OCSPResponse.initializeClockSkew:()I
putstatic sun.security.provider.certpath.OCSPResponse.MAX_CLOCK_SKEW:I
8: invokestatic java.security.cert.CRLReason.values:()[Ljava/security/cert/CRLReason;
putstatic sun.security.provider.certpath.OCSPResponse.values:[Ljava/security/cert/CRLReason;
return
LocalVariableTable:
Start End Slot Name Signature
private static int initializeClockSkew();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new sun.security.action.GetIntegerAction
dup
ldc "com.sun.security.ocsp.clockSkew"
invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 0
start local 0 2: aload 0
ifnull 3
aload 0
invokevirtual java.lang.Integer.intValue:()I
ifge 4
3: StackMap locals: java.lang.Integer
StackMap stack:
ldc 900000
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Integer.intValue:()I
sipush 1000
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 5 0 tmp Ljava/lang/Integer;
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=19, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
2: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
3: getstatic sun.security.provider.certpath.OCSPResponse.dump:Z
ifeq 8
4: new sun.security.util.HexDumpEncoder
dup
invokespecial sun.security.util.HexDumpEncoder.<init>:()V
astore 2
start local 2 5: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSPResponse bytes...\n\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 2
aload 1
invokevirtual sun.security.util.HexDumpEncoder.encode:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 2 8: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[]
StackMap stack:
new sun.security.util.DerValue
dup
aload 1
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 2
start local 2 9: aload 2
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 11
10: new java.io.IOException
dup
ldc "Bad encoding in OCSP response: expected ASN.1 SEQUENCE tag."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 2
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
astore 3
start local 3 12: aload 3
invokevirtual sun.security.util.DerInputStream.getEnumerated:()I
istore 4
start local 4 13: iload 4
iflt 16
iload 4
getstatic sun.security.provider.certpath.OCSPResponse.rsvalues:[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
arraylength
if_icmpge 16
14: aload 0
getstatic sun.security.provider.certpath.OCSPResponse.rsvalues:[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
iload 4
aaload
putfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
15: goto 17
16: StackMap locals: sun.security.util.DerInputStream int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unknown OCSPResponse status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 19
18: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP response status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
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
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.SUCCESSFUL:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
if_acmpeq 29
20: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
21: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
22: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.sigAlgId:Lsun/security/x509/AlgorithmId;
23: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.signature:[B
24: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.tbsResponseData:[B
25: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
26: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
27: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
28: return
29: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 2
30: aload 2
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 32
31: new java.io.IOException
dup
ldc "Bad encoding in responseBytes element of OCSP response: expected ASN.1 context specific tag 0."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
start local 5 33: aload 5
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 35
34: new java.io.IOException
dup
ldc "Bad encoding in responseBytes element of OCSP response: expected ASN.1 SEQUENCE tag."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 5
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
astore 3
36: aload 3
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 6
start local 6 37: aload 6
getstatic sun.security.provider.certpath.OCSPResponse.OCSP_BASIC_RESPONSE_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 41
38: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 46
39: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "OCSP response type: basic"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
40: goto 46
41: StackMap locals: sun.security.util.ObjectIdentifier
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 43
42: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP response type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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
43: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported OCSP response type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 3
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
47: astore 7
start local 7 48: aload 7
iconst_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 8
start local 8 49: aload 8
arraylength
iconst_3
if_icmpge 51
50: new java.io.IOException
dup
ldc "Unexpected BasicOCSPResponse value"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
51: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 8
iconst_0
aaload
astore 9
start local 9 52: aload 0
aload 8
iconst_0
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
putfield sun.security.provider.certpath.OCSPResponse.tbsResponseData:[B
53: aload 9
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 55
54: new java.io.IOException
dup
ldc "Bad encoding in tbsResponseData element of OCSP response: expected ASN.1 SEQUENCE tag."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 9
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
astore 10
start local 10 56: aload 10
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 11
start local 11 57: aload 11
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifeq 64
58: aload 11
invokevirtual sun.security.util.DerValue.isConstructed:()Z
ifeq 64
aload 11
invokevirtual sun.security.util.DerValue.isContextSpecific:()Z
ifeq 64
59: aload 11
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 11
60: aload 11
invokevirtual sun.security.util.DerValue.getInteger:()I
pop
61: aload 11
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 63
62: new java.io.IOException
dup
ldc "Bad encoding in version element of OCSP response: bad format"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue
StackMap stack:
aload 10
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 11
64: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.certpath.ResponderId
dup
aload 11
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.provider.certpath.ResponderId.<init>:([B)V
putfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
65: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 67
66: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Responder ID: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
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
67: StackMap locals:
StackMap stack:
aload 10
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 11
68: aload 0
aload 11
invokevirtual sun.security.util.DerValue.getGeneralizedTime:()Ljava/util/Date;
putfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
69: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 71
70: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP response produced at: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
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
71: StackMap locals:
StackMap stack:
aload 10
iconst_1
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 12
start local 12 72: aload 0
new java.util.HashMap
dup
aload 12
arraylength
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
73: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 77
74: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP number of SingleResponses: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
75: aload 12
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
77: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aload 12
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 82
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] sun.security.util.DerValue sun.security.util.DerInputStream int sun.security.util.DerValue sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
StackMap stack:
78: aload 16
iload 14
aaload
astore 13
start local 13 79: new sun.security.provider.certpath.OCSPResponse$SingleResponse
dup
aload 13
invokespecial sun.security.provider.certpath.OCSPResponse$SingleResponse.<init>:(Lsun/security/util/DerValue;)V
astore 17
start local 17 80: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
aload 17
invokevirtual sun.security.provider.certpath.OCSPResponse$SingleResponse.getCertId:()Lsun/security/provider/certpath/CertId;
aload 17
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 17 end local 13 81: iinc 14 1
StackMap locals:
StackMap stack:
82: iload 14
iload 15
if_icmplt 78
83: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 13
start local 13 84: aload 10
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 88
85: aload 10
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 11
86: aload 11
iconst_1
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifeq 88
87: aload 11
invokestatic sun.security.provider.certpath.OCSPResponse.parseExtensions:(Lsun/security/util/DerValue;)Ljava/util/Map;
astore 13
88: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] sun.security.util.DerValue sun.security.util.DerInputStream int sun.security.util.DerValue sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map
StackMap stack:
aload 0
aload 13
putfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
89: aload 13
90: getstatic sun.security.x509.PKIXExtensions.OCSPNonce_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
91: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.x509.Extension
astore 14
start local 14 92: aload 0
aload 14
ifnull 94
93: aload 14
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
goto 95
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] sun.security.util.DerValue sun.security.util.DerInputStream int sun.security.util.DerValue sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension
StackMap stack: sun.security.provider.certpath.OCSPResponse
94: aconst_null
95: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] sun.security.util.DerValue sun.security.util.DerInputStream int sun.security.util.DerValue sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension
StackMap stack: sun.security.provider.certpath.OCSPResponse byte[]
putfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
96: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 98
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
ifnull 98
97: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Response nonce: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
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
98: StackMap locals:
StackMap stack:
aload 0
aload 8
iconst_1
aaload
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
putfield sun.security.provider.certpath.OCSPResponse.sigAlgId:Lsun/security/x509/AlgorithmId;
99: aload 0
aload 8
iconst_2
aaload
invokevirtual sun.security.util.DerValue.getBitString:()[B
putfield sun.security.provider.certpath.OCSPResponse.signature:[B
100: aload 8
arraylength
iconst_3
if_icmple 120
101: aload 8
iconst_3
aaload
astore 15
start local 15 102: aload 15
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 104
103: new java.io.IOException
dup
ldc "Bad encoding in certs element of OCSP response: expected ASN.1 context specific tag 0."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
104: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 15
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
iconst_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 16
start local 16 105: aload 0
new java.util.ArrayList
dup
aload 16
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
putfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
106: iconst_0
istore 17
start local 17 107: goto 116
108: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
new sun.security.x509.X509CertImpl
dup
aload 16
iload 17
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
109: astore 18
start local 18 110: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
aload 18
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
111: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 115
112: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP response cert #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 17
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
113: aload 18
invokevirtual sun.security.x509.X509CertImpl.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;
114: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 18 115: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
116: iload 17
aload 16
arraylength
if_icmplt 108
end local 17 117: goto 121
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] sun.security.util.DerValue sun.security.util.DerInputStream int sun.security.util.DerValue sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension sun.security.util.DerValue sun.security.util.DerValue[]
StackMap stack: java.security.cert.CertificateException
118: astore 17
start local 17 119: new java.io.IOException
dup
ldc "Bad encoding in X509 Certificate"
aload 17
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 17 end local 16 end local 15 120: StackMap locals:
StackMap stack:
aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
121: StackMap locals:
StackMap stack:
return
end local 14 end local 13 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 122 0 this Lsun/security/provider/certpath/OCSPResponse;
0 122 1 bytes [B
5 8 2 hexEnc Lsun/security/util/HexDumpEncoder;
9 122 2 der Lsun/security/util/DerValue;
12 122 3 derIn Lsun/security/util/DerInputStream;
13 122 4 status I
33 122 5 tmp Lsun/security/util/DerValue;
37 122 6 responseType Lsun/security/util/ObjectIdentifier;
48 122 7 basicOCSPResponse Lsun/security/util/DerInputStream;
49 122 8 seqTmp [Lsun/security/util/DerValue;
52 122 9 responseData Lsun/security/util/DerValue;
56 122 10 seqDerIn Lsun/security/util/DerInputStream;
57 122 11 seq Lsun/security/util/DerValue;
72 122 12 singleResponseDer [Lsun/security/util/DerValue;
79 81 13 srDer Lsun/security/util/DerValue;
80 81 17 singleResponse Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
84 122 13 tmpExtMap Ljava/util/Map<Ljava/lang/String;Ljava/security/cert/Extension;>;
92 122 14 nonceExt Lsun/security/x509/Extension;
102 120 15 seqCert Lsun/security/util/DerValue;
105 120 16 derCerts [Lsun/security/util/DerValue;
107 117 17 i I
110 115 18 cert Lsun/security/x509/X509CertImpl;
119 120 17 ce Ljava/security/cert/CertificateException;
Exception table:
from to target type
106 117 118 Class java.security.cert.CertificateException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bytes
void verify(java.util.List<sun.security.provider.certpath.CertId>, sun.security.provider.certpath.OCSPResponse$IssuerInfo, java.security.cert.X509Certificate, java.util.Date, byte[], java.lang.String);
descriptor: (Ljava/util/List;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;[BLjava/lang/String;)V
flags: (0x0000)
Code:
stack=7, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: invokestatic sun.security.provider.certpath.OCSPResponse.$SWITCH_TABLE$sun$security$provider$certpath$OCSPResponse$ResponseStatus:()[I
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 6
3: 2
4: 2
5: 6
6: 6
7: 6
default: 6
}
1: StackMap locals:
StackMap stack:
goto 9
2: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
3: new java.lang.StringBuilder
dup
ldc "OCSP response error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
aconst_null
iconst_m1
4: getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
5: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
athrow
6: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
new java.lang.StringBuilder
dup
ldc "OCSP response error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 22
StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.CertId
astore 7
start local 7 11: aload 0
aload 7
invokevirtual sun.security.provider.certpath.OCSPResponse.getSingleResponse:(Lsun/security/provider/certpath/CertId;)Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
astore 9
start local 9 12: aload 9
ifnonnull 18
13: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 15
14: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "No response found for CertId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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
15: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String sun.security.provider.certpath.CertId java.util.Iterator sun.security.provider.certpath.OCSPResponse$SingleResponse
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
16: ldc "OCSP response does not include a response for a certificate supplied in the OCSP request"
17: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 22
19: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Status of certificate (with serial number "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 7
invokevirtual sun.security.provider.certpath.CertId.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") is: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual sun.security.provider.certpath.OCSPResponse$SingleResponse.getCertStatus:()Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 7 22: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
23: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
ifnonnull 57
24: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getCertificate:()Ljava/security/cert/X509Certificate;
ifnull 26
25: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getCertificate:()Ljava/security/cert/X509Certificate;
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String
StackMap stack:
aload 3
ifnull 33
27: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
aload 3
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: goto 33
StackMap locals:
StackMap stack: java.security.cert.CertificateException
29: astore 7
start local 7 30: new java.security.cert.CertPathValidatorException
dup
31: ldc "Invalid issuer or trusted responder certificate"
aload 7
32: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 33: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
invokevirtual sun.security.provider.certpath.ResponderId.getType:()Lsun/security/provider/certpath/ResponderId$Type;
getstatic sun.security.provider.certpath.ResponderId$Type.BY_NAME:Lsun/security/provider/certpath/ResponderId$Type;
if_acmpne 42
34: aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
invokevirtual sun.security.provider.certpath.ResponderId.getResponderName:()Ljavax/security/auth/x500/X500Principal;
astore 7
start local 7 35: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 40
StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String javax.security.auth.x500.X500Principal top java.util.Iterator
StackMap stack:
36: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 8
start local 8 37: aload 8
invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
aload 7
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 40
38: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
39: goto 57
end local 8 40: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
end local 7 41: goto 57
StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String
StackMap stack:
42: aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
invokevirtual sun.security.provider.certpath.ResponderId.getType:()Lsun/security/provider/certpath/ResponderId$Type;
getstatic sun.security.provider.certpath.ResponderId$Type.BY_KEY:Lsun/security/provider/certpath/ResponderId$Type;
if_acmpne 57
43: aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
invokevirtual sun.security.provider.certpath.ResponderId.getKeyIdentifier:()Lsun/security/x509/KeyIdentifier;
astore 7
start local 7 44: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 56
StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String sun.security.x509.KeyIdentifier top java.util.Iterator
StackMap stack:
45: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 8
start local 8 46: aload 8
invokevirtual sun.security.x509.X509CertImpl.getSubjectKeyId:()Lsun/security/x509/KeyIdentifier;
astore 10
start local 10 47: aload 10
ifnull 50
aload 7
aload 10
invokevirtual sun.security.x509.KeyIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 50
48: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
49: goto 57
50: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String sun.security.x509.KeyIdentifier sun.security.x509.X509CertImpl java.util.Iterator sun.security.x509.KeyIdentifier
StackMap stack:
new sun.security.x509.KeyIdentifier
dup
aload 8
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
astore 10
51: goto 53
StackMap locals:
StackMap stack: java.io.IOException
52: pop
53: StackMap locals:
StackMap stack:
aload 7
aload 10
invokevirtual sun.security.x509.KeyIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 56
54: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
55: goto 57
end local 10 end local 8 56: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String sun.security.x509.KeyIdentifier top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
end local 7 57: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
ifnull 119
58: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
59: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getName:()Ljavax/security/auth/x500/X500Principal;
60: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
61: ifeq 69
62: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
63: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getPublicKey:()Ljava/security/PublicKey;
64: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
65: ifeq 69
66: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 119
67: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "OCSP response is signed by the target's Issuing CA"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
68: goto 119
StackMap locals:
StackMap stack:
69: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
aload 3
invokevirtual sun.security.x509.X509CertImpl.equals:(Ljava/lang/Object;)Z
ifeq 73
70: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 119
71: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "OCSP response is signed by a Trusted Responder"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
72: goto 119
StackMap locals:
StackMap stack:
73: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
74: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getName:()Ljavax/security/auth/x500/X500Principal;
75: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
76: ifeq 116
77: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getExtendedKeyUsage:()Ljava/util/List;
astore 7
start local 7 78: aload 7
ifnull 80
79: aload 7
getstatic sun.security.util.KnownOIDs.OCSPSigning:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 88
80: StackMap locals: java.util.List
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
81: ldc "Responder's certificate not valid for signing OCSP responses"
82: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 7 83: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String
StackMap stack: java.security.cert.CertificateParsingException
astore 7
start local 7 84: new java.security.cert.CertPathValidatorException
dup
85: ldc "Responder's certificate not valid for signing OCSP responses"
86: aload 7
87: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 88: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.AlgorithmChecker
dup
aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getAnchor:()Ljava/security/cert/TrustAnchor;
aload 4
89: aload 6
90: invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;)V
91: astore 7
start local 7 92: aload 7
iconst_0
invokevirtual sun.security.provider.certpath.AlgorithmChecker.init:(Z)V
93: aload 7
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
94: aload 4
ifnonnull 97
95: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.checkValidity:()V
96: goto 104
97: StackMap locals: sun.security.provider.certpath.AlgorithmChecker
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
aload 4
invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
98: goto 104
StackMap locals:
StackMap stack: java.security.cert.CertificateException
99: astore 8
start local 8 100: new java.security.cert.CertPathValidatorException
dup
101: ldc "Responder's certificate not within the validity period"
102: aload 8
103: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 104: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
getstatic sun.security.x509.PKIXExtensions.OCSPNoCheck_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
105: astore 8
start local 8 106: aload 8
ifnull 109
107: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 109
108: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "Responder's certificate includes the extension id-pkix-ocsp-nocheck."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
109: StackMap locals: sun.security.x509.Extension
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getPublicKey:()Ljava/security/PublicKey;
invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;)V
110: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 119
111: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "OCSP response is signed by an Authorized Responder"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
112: goto 119
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
113: pop
114: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
end local 8 end local 7 115: goto 119
116: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
117: ldc "Responder's certificate is not authorized to sign OCSP responses"
118: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
119: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
ifnull 125
120: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
aload 0
getfield sun.security.provider.certpath.OCSPResponse.sigAlgId:Lsun/security/x509/AlgorithmId;
aload 6
invokestatic sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/PublicKey;Lsun/security/x509/AlgorithmId;Ljava/lang/String;)V
121: aload 0
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.provider.certpath.OCSPResponse.verifySignature:(Ljava/security/cert/X509Certificate;)Z
ifne 128
122: new java.security.cert.CertPathValidatorException
dup
123: ldc "Error verifying OCSP Response's signature"
124: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
125: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
126: ldc "Unable to verify OCSP Response's signature"
127: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
128: StackMap locals:
StackMap stack:
aload 5
ifnull 131
129: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
ifnull 131
aload 5
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 131
130: new java.security.cert.CertPathValidatorException
dup
ldc "Nonces don't match"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
131: StackMap locals:
StackMap stack:
aload 4
ifnonnull 132
invokestatic java.lang.System.currentTimeMillis:()J
goto 133
StackMap locals:
StackMap stack:
132: aload 4
invokevirtual java.util.Date.getTime:()J
StackMap locals:
StackMap stack: long
133: lstore 7
start local 7 134: new java.util.Date
dup
lload 7
getstatic sun.security.provider.certpath.OCSPResponse.MAX_CLOCK_SKEW:I
i2l
ladd
invokespecial java.util.Date.<init>:(J)V
astore 9
start local 9 135: new java.util.Date
dup
lload 7
getstatic sun.security.provider.certpath.OCSPResponse.MAX_CLOCK_SKEW:I
i2l
lsub
invokespecial java.util.Date.<init>:(J)V
astore 10
start local 10 136: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 158
StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String long java.util.Date java.util.Date top java.util.Iterator
StackMap stack:
137: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.OCSPResponse$SingleResponse
astore 11
start local 11 138: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 149
139: ldc ""
astore 13
start local 13 140: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
ifnull 142
141: new java.lang.StringBuilder
dup
ldc " until "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
142: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String long java.util.Date java.util.Date sun.security.provider.certpath.OCSPResponse$SingleResponse java.util.Iterator java.lang.String
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "OCSP response validity interval is from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
143: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.thisUpdate:Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
144: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
145: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Checking validity of OCSP response on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
146: new java.util.Date
dup
lload 7
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " with allowed interval between "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
147: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
148: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 13 149: StackMap locals:
StackMap stack:
aload 9
aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.thisUpdate:Ljava/util/Date;
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifne 155
150: aload 10
151: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
ifnull 152
aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
goto 153
StackMap locals:
StackMap stack: java.util.Date
152: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.thisUpdate:Ljava/util/Date;
153: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String long java.util.Date java.util.Date sun.security.provider.certpath.OCSPResponse$SingleResponse java.util.Iterator
StackMap stack: java.util.Date java.util.Date
invokevirtual java.util.Date.after:(Ljava/util/Date;)Z
154: ifeq 158
155: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
156: ldc "Response is unreliable: its validity interval is out-of-date"
157: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 11 158: StackMap locals: sun.security.provider.certpath.OCSPResponse java.util.List sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date byte[] java.lang.String long java.util.Date java.util.Date top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 137
159: return
end local 10 end local 9 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 160 0 this Lsun/security/provider/certpath/OCSPResponse;
0 160 1 certIds Ljava/util/List<Lsun/security/provider/certpath/CertId;>;
0 160 2 issuerInfo Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
0 160 3 responderCert Ljava/security/cert/X509Certificate;
0 160 4 date Ljava/util/Date;
0 160 5 nonce [B
0 160 6 variant Ljava/lang/String;
11 22 7 certId Lsun/security/provider/certpath/CertId;
12 22 9 sr Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
30 33 7 ce Ljava/security/cert/CertificateException;
35 41 7 rName Ljavax/security/auth/x500/X500Principal;
37 40 8 cert Lsun/security/x509/X509CertImpl;
44 57 7 ridKeyId Lsun/security/x509/KeyIdentifier;
46 56 8 cert Lsun/security/x509/X509CertImpl;
47 56 10 certKeyId Lsun/security/x509/KeyIdentifier;
78 83 7 keyPurposes Ljava/util/List<Ljava/lang/String;>;
84 88 7 cpe Ljava/security/cert/CertificateParsingException;
92 115 7 algChecker Lsun/security/provider/certpath/AlgorithmChecker;
100 104 8 e Ljava/security/cert/CertificateException;
106 115 8 noCheck Lsun/security/x509/Extension;
134 160 7 now J
135 160 9 nowPlusSkew Ljava/util/Date;
136 160 10 nowMinusSkew Ljava/util/Date;
138 158 11 sr Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
140 149 13 until Ljava/lang/String;
Exception table:
from to target type
24 28 29 Class java.security.cert.CertificateException
50 51 52 Class java.io.IOException
77 83 83 Class java.security.cert.CertificateParsingException
94 98 99 Class java.security.cert.CertificateException
109 112 113 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/util/List<Lsun/security/provider/certpath/CertId;>;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;[BLjava/lang/String;)V
MethodParameters:
Name Flags
certIds
issuerInfo
responderCert
date
nonce
variant
public sun.security.provider.certpath.OCSPResponse$ResponseStatus getResponseStatus();
descriptor: ()Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPResponse;
private boolean verifySignature(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.sigAlgId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
2: aload 2
aload 0
getfield sun.security.provider.certpath.OCSPResponse.tbsResponseData:[B
invokevirtual java.security.Signature.update:([B)V
3: aload 2
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signature:[B
invokevirtual java.security.Signature.verify:([B)Z
ifeq 7
4: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 6
5: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ldc "Verified signature of OCSP Response"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals: java.security.Signature
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 11
8: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
9: ldc "Error verifying signature of OCSP Response"
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 12: StackMap locals: sun.security.provider.certpath.OCSPResponse java.security.cert.X509Certificate
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 13: new java.security.cert.CertPathValidatorException
dup
aload 2
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/provider/certpath/OCSPResponse;
0 14 1 cert Ljava/security/cert/X509Certificate;
1 12 2 respSignature Ljava/security/Signature;
13 14 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 6 12 Class java.security.InvalidKeyException
7 11 12 Class java.security.InvalidKeyException
0 6 12 Class java.security.NoSuchAlgorithmException
7 11 12 Class java.security.NoSuchAlgorithmException
0 6 12 Class java.security.SignatureException
7 11 12 Class java.security.SignatureException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
cert
public sun.security.provider.certpath.OCSPResponse$SingleResponse getSingleResponse(sun.security.provider.certpath.CertId);
descriptor: (Lsun/security/provider/certpath/CertId;)Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.provider.certpath.OCSPResponse$SingleResponse
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPResponse;
0 1 1 certId Lsun/security/provider/certpath/CertId;
MethodParameters:
Name Flags
certId
public java.util.Set<sun.security.provider.certpath.CertId> getCertIds();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPResponse;
Signature: ()Ljava/util/Set<Lsun/security/provider/certpath/CertId;>;
java.security.cert.X509Certificate getSignerCertificate();
descriptor: ()Ljava/security/cert/X509Certificate;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPResponse;
public sun.security.provider.certpath.ResponderId getResponderId();
descriptor: ()Lsun/security/provider/certpath/ResponderId;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSPResponse;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "OCSP Response:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "Response Status: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc "Responder ID: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "Produced at: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
istore 2
start local 2 6: aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
iload 2
iconst_1
if_icmpne 8
7: ldc " response:\n"
goto 9
StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder
8: ldc " responses:\n"
9: StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.OCSPResponse$SingleResponse
astore 3
start local 3 12: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
ifnull 24
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ifle 24
15: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
istore 2
16: aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
iload 2
iconst_1
if_icmpne 18
17: ldc " extension:\n"
goto 19
StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder
18: ldc " extensions:\n"
19: StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 23
StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
21: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 22: aload 1
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: StackMap locals: sun.security.provider.certpath.OCSPResponse java.lang.StringBuilder int
StackMap stack:
aload 1
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 25 0 this Lsun/security/provider/certpath/OCSPResponse;
1 25 1 sb Ljava/lang/StringBuilder;
6 25 2 count I
12 13 3 sr Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
22 23 3 extId Ljava/lang/String;
private static java.util.Map<java.lang.String, java.security.cert.Extension> parseExtensions(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
iconst_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 1
start local 1 1: new java.util.HashMap
dup
aload 1
arraylength
invokespecial java.util.HashMap.<init>:(I)V
2: astore 2
start local 2 3: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map top int int sun.security.util.DerValue[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: new sun.security.x509.Extension
dup
aload 3
invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/DerValue;)V
astore 7
start local 7 6: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 8
7: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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
8: StackMap locals: sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.util.DerValue int int sun.security.util.DerValue[] sun.security.x509.Extension
StackMap stack:
aload 7
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifeq 12
9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported OCSP critical extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 7
invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual sun.security.x509.Extension.getId:()Ljava/lang/String;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 3 13: iinc 4 1
StackMap locals: sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map top int int sun.security.util.DerValue[]
StackMap stack:
14: iload 4
iload 5
if_icmplt 4
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 derVal Lsun/security/util/DerValue;
1 16 1 extDer [Lsun/security/util/DerValue;
3 16 2 extMap Ljava/util/Map<Ljava/lang/String;Ljava/security/cert/Extension;>;
5 13 3 extDerVal Lsun/security/util/DerValue;
6 13 7 ext Lsun/security/x509/Extension;
Exceptions:
throws java.io.IOException
Signature: (Lsun/security/util/DerValue;)Ljava/util/Map<Ljava/lang/String;Ljava/security/cert/Extension;>;
MethodParameters:
Name Flags
derVal
static int[] $SWITCH_TABLE$sun$security$provider$certpath$OCSPResponse$ResponseStatus();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.security.provider.certpath.OCSPResponse.$SWITCH_TABLE$sun$security$provider$certpath$OCSPResponse$ResponseStatus:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.values:()[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.INTERNAL_ERROR:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.MALFORMED_REQUEST:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.SIG_REQUIRED:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.SUCCESSFUL:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.TRY_LATER:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.UNAUTHORIZED:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
bipush 7
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.UNUSED:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
invokevirtual sun.security.provider.certpath.OCSPResponse$ResponseStatus.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic sun.security.provider.certpath.OCSPResponse.$SWITCH_TABLE$sun$security$provider$certpath$OCSPResponse$ResponseStatus:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "OCSPResponse.java"
NestMembers:
sun.security.provider.certpath.OCSPResponse$IssuerInfo sun.security.provider.certpath.OCSPResponse$ResponseStatus sun.security.provider.certpath.OCSPResponse$SingleResponse
InnerClasses:
public final BasicReason = java.security.cert.CertPathValidatorException$BasicReason of java.security.cert.CertPathValidatorException
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
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
final IssuerInfo = sun.security.provider.certpath.OCSPResponse$IssuerInfo of sun.security.provider.certpath.OCSPResponse
public final ResponseStatus = sun.security.provider.certpath.OCSPResponse$ResponseStatus of sun.security.provider.certpath.OCSPResponse
public final SingleResponse = sun.security.provider.certpath.OCSPResponse$SingleResponse of sun.security.provider.certpath.OCSPResponse
public final Type = sun.security.provider.certpath.ResponderId$Type of sun.security.provider.certpath.ResponderId