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 java.lang.String KP_OCSP_SIGNING_OID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.3.6.1.5.5.7.3.9"
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;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, 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: bipush 10
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_3
iastore
dup
iconst_2
bipush 6
iastore
dup
iconst_3
iconst_1
iastore
dup
iconst_4
iconst_5
iastore
dup
iconst_5
iconst_5
iastore
dup
bipush 6
bipush 7
iastore
dup
bipush 7
bipush 48
iastore
dup
bipush 8
iconst_1
iastore
dup
bipush 9
iconst_1
iastore
invokestatic sun.security.util.ObjectIdentifier.newInternal:([I)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.misc.HexDumpEncoder
dup
invokespecial sun.misc.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.misc.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
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
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/misc/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=6, 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: 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 4
1: new java.security.cert.CertPathValidatorException
dup
2: 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;
3: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 17
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:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.CertId
astore 7
start local 7 6: 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 7: aload 9
ifnonnull 13
8: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 10
9: 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
10: 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
11: ldc "OCSP response does not include a response for a certificate supplied in the OCSP request"
12: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 17
14: 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
15: 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;
16: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 7 17: 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 5
18: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
ifnonnull 52
19: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getCertificate:()Ljava/security/cert/X509Certificate;
ifnull 21
20: 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
21: 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 28
22: 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
23: goto 28
StackMap locals:
StackMap stack: java.security.cert.CertificateException
24: astore 7
start local 7 25: new java.security.cert.CertPathValidatorException
dup
26: ldc "Invalid issuer or trusted responder certificate"
aload 7
27: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 28: 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 37
29: 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 30: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 35
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:
31: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 8
start local 8 32: 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 35
33: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
34: goto 52
end local 8 35: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
end local 7 36: goto 52
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:
37: 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 52
38: 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 39: aload 0
getfield sun.security.provider.certpath.OCSPResponse.certs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 51
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:
40: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 8
start local 8 41: aload 8
invokevirtual sun.security.x509.X509CertImpl.getSubjectKeyId:()Lsun/security/x509/KeyIdentifier;
astore 10
start local 10 42: aload 10
ifnull 45
aload 7
aload 10
invokevirtual sun.security.x509.KeyIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 45
43: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
44: goto 52
45: 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
46: goto 48
StackMap locals:
StackMap stack: java.io.IOException
47: pop
48: StackMap locals:
StackMap stack:
aload 7
aload 10
invokevirtual sun.security.x509.KeyIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 51
49: aload 0
aload 8
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
50: goto 52
end local 10 end local 8 51: 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 40
end local 7 52: 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 114
53: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
54: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getName:()Ljavax/security/auth/x500/X500Principal;
55: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
56: ifeq 64
57: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
58: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getPublicKey:()Ljava/security/PublicKey;
59: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
60: ifeq 64
61: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 114
62: 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
63: goto 114
StackMap locals:
StackMap stack:
64: 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 68
65: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 114
66: 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
67: goto 114
StackMap locals:
StackMap stack:
68: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
69: aload 2
invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getName:()Ljavax/security/auth/x500/X500Principal;
70: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
71: ifeq 111
72: 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 73: aload 7
ifnull 75
74: aload 7
ldc "1.3.6.1.5.5.7.3.9"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 83
75: StackMap locals: java.util.List
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
76: ldc "Responder's certificate not valid for signing OCSP responses"
77: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 7 78: 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 79: new java.security.cert.CertPathValidatorException
dup
80: ldc "Responder's certificate not valid for signing OCSP responses"
81: aload 7
82: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 83: 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
84: aload 6
85: invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;)V
86: astore 7
start local 7 87: aload 7
iconst_0
invokevirtual sun.security.provider.certpath.AlgorithmChecker.init:(Z)V
88: 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
89: aload 4
ifnonnull 92
90: aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.checkValidity:()V
91: goto 99
92: 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
93: goto 99
StackMap locals:
StackMap stack: java.security.cert.CertificateException
94: astore 8
start local 8 95: new java.security.cert.CertPathValidatorException
dup
96: ldc "Responder's certificate not within the validity period"
97: aload 8
98: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 99: 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;
100: astore 8
start local 8 101: aload 8
ifnull 104
102: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 104
103: 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
104: 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
105: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 114
106: 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
107: goto 114
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
108: pop
109: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
end local 8 end local 7 110: goto 114
111: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
112: ldc "Responder's certificate is not authorized to sign OCSP responses"
113: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
114: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.OCSPResponse.signerCert:Lsun/security/x509/X509CertImpl;
ifnull 120
115: 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
116: 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 123
117: new java.security.cert.CertPathValidatorException
dup
118: ldc "Error verifying OCSP Response's signature"
119: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
120: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
121: ldc "Unable to verify OCSP Response's signature"
122: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
123: StackMap locals:
StackMap stack:
aload 5
ifnull 126
124: aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
ifnull 126
aload 5
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 126
125: new java.security.cert.CertPathValidatorException
dup
ldc "Nonces don't match"
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
126: StackMap locals:
StackMap stack:
aload 4
ifnonnull 127
invokestatic java.lang.System.currentTimeMillis:()J
goto 128
StackMap locals:
StackMap stack:
127: aload 4
invokevirtual java.util.Date.getTime:()J
StackMap locals:
StackMap stack: long
128: lstore 7
start local 7 129: 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 130: 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 131: 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 152
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:
132: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.OCSPResponse$SingleResponse
astore 11
start local 11 133: getstatic sun.security.provider.certpath.OCSPResponse.debug:Lsun/security/util/Debug;
ifnull 143
134: ldc ""
astore 13
start local 13 135: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
ifnull 137
136: 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
137: 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
138: 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;
139: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
140: 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
141: 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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
142: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 13 143: 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 149
144: aload 10
145: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
ifnull 146
aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.nextUpdate:Ljava/util/Date;
goto 147
StackMap locals:
StackMap stack: java.util.Date
146: aload 11
getfield sun.security.provider.certpath.OCSPResponse$SingleResponse.thisUpdate:Ljava/util/Date;
147: 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
148: ifeq 152
149: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
150: ldc "Response is unreliable: its validity interval is out-of-date"
151: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 11 152: 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 132
153: 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 154 0 this Lsun/security/provider/certpath/OCSPResponse;
0 154 1 certIds Ljava/util/List<Lsun/security/provider/certpath/CertId;>;
0 154 2 issuerInfo Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
0 154 3 responderCert Ljava/security/cert/X509Certificate;
0 154 4 date Ljava/util/Date;
0 154 5 nonce [B
0 154 6 variant Ljava/lang/String;
6 17 7 certId Lsun/security/provider/certpath/CertId;
7 17 9 sr Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
25 28 7 ce Ljava/security/cert/CertificateException;
30 36 7 rName Ljavax/security/auth/x500/X500Principal;
32 35 8 cert Lsun/security/x509/X509CertImpl;
39 52 7 ridKeyId Lsun/security/x509/KeyIdentifier;
41 51 8 cert Lsun/security/x509/X509CertImpl;
42 51 10 certKeyId Lsun/security/x509/KeyIdentifier;
73 78 7 keyPurposes Ljava/util/List<Ljava/lang/String;>;
79 83 7 cpe Ljava/security/cert/CertificateParsingException;
87 110 7 algChecker Lsun/security/provider/certpath/AlgorithmChecker;
95 99 8 e Ljava/security/cert/CertificateException;
101 110 8 noCheck Lsun/security/x509/Extension;
129 154 7 now J
130 154 9 nowPlusSkew Ljava/util/Date;
131 154 10 nowMinusSkew Ljava/util/Date;
133 152 11 sr Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
135 143 13 until Ljava/lang/String;
Exception table:
from to target type
19 23 24 Class java.security.cert.CertificateException
45 46 47 Class java.io.IOException
72 78 78 Class java.security.cert.CertificateParsingException
89 93 94 Class java.security.cert.CertificateException
104 107 108 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
}
SourceFile: "OCSPResponse.java"
NestMembers:
sun.security.provider.certpath.OCSPResponse$IssuerInfo sun.security.provider.certpath.OCSPResponse$ResponseStatus sun.security.provider.certpath.OCSPResponse$SingleResponse
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
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