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
ConstantValue: 0
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 sun.security.util.ObjectIdentifier OCSP_NONCE_EXTENSION_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 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 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 final byte[] responseNonce;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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, sun.security.x509.Extension> responseExtensions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lsun/security/x509/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: 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;
3: putstatic sun.security.provider.certpath.OCSPResponse.OCSP_BASIC_RESPONSE_OID:Lsun/security/util/ObjectIdentifier;
4: 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_2
iastore
invokestatic sun.security.util.ObjectIdentifier.newInternal:([I)Lsun/security/util/ObjectIdentifier;
5: putstatic sun.security.provider.certpath.OCSPResponse.OCSP_NONCE_EXTENSION_OID:Lsun/security/util/ObjectIdentifier;
6: invokestatic sun.security.provider.certpath.OCSPResponse.initializeClockSkew:()I
putstatic sun.security.provider.certpath.OCSPResponse.MAX_CLOCK_SKEW:I
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;
void <init>(byte[], java.util.Date, java.security.cert.X509Certificate, java.lang.String);
descriptor: ([BLjava/util/Date;Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=25, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
2: new sun.security.util.DerValue
dup
aload 1
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 5
start local 5 3: aload 5
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 5
4: 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
5: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String sun.security.util.DerValue
StackMap stack:
aload 5
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
astore 6
start local 6 6: aload 6
invokevirtual sun.security.util.DerInputStream.getEnumerated:()I
istore 7
start local 7 7: iload 7
iflt 10
iload 7
getstatic sun.security.provider.certpath.OCSPResponse.rsvalues:[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
arraylength
if_icmpge 10
8: aload 0
getstatic sun.security.provider.certpath.OCSPResponse.rsvalues:[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
iload 7
aaload
putfield sun.security.provider.certpath.OCSPResponse.responseStatus:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
9: goto 11
10: 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 7
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
11: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 13
12: 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
13: 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 19
14: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
15: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
16: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
17: aload 0
aconst_null
putfield sun.security.provider.certpath.OCSPResponse.respId:Lsun/security/provider/certpath/ResponderId;
18: return
19: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
20: aload 5
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 22
21: 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
22: StackMap locals:
StackMap stack:
aload 5
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 8
start local 8 23: aload 8
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 25
24: 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
25: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 8
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
astore 6
26: aload 6
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 9
start local 9 27: aload 9
getstatic sun.security.provider.certpath.OCSPResponse.OCSP_BASIC_RESPONSE_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Lsun/security/util/ObjectIdentifier;)Z
ifeq 31
28: getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 36
29: 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
30: goto 36
31: StackMap locals: sun.security.util.ObjectIdentifier
StackMap stack:
getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 33
32: 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 9
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
33: 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
34: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 6
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
37: astore 10
start local 10 38: aload 10
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 11
start local 11 39: aload 11
arraylength
iconst_3
if_icmpge 41
40: new java.io.IOException
dup
ldc "Unexpected BasicOCSPResponse value"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 11
iconst_0
aaload
astore 12
start local 12 42: aload 11
iconst_0
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 13
start local 13 43: aload 12
getfield sun.security.util.DerValue.tag:B
bipush 48
if_icmpeq 45
44: 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
45: StackMap locals: sun.security.util.DerValue byte[]
StackMap stack:
aload 12
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
astore 14
start local 14 46: aload 14
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 15
start local 15 47: aload 15
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifeq 54
48: aload 15
invokevirtual sun.security.util.DerValue.isConstructed:()Z
ifeq 54
aload 15
invokevirtual sun.security.util.DerValue.isContextSpecific:()Z
ifeq 54
49: aload 15
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 15
50: aload 15
invokevirtual sun.security.util.DerValue.getInteger:()I
pop
51: aload 15
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 53
52: 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
53: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue
StackMap stack:
aload 14
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 15
54: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.certpath.ResponderId
dup
aload 15
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;
55: getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 57
56: 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
57: StackMap locals:
StackMap stack:
aload 14
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 15
58: aload 0
aload 15
invokevirtual sun.security.util.DerValue.getGeneralizedTime:()Ljava/util/Date;
putfield sun.security.provider.certpath.OCSPResponse.producedAtDate:Ljava/util/Date;
59: getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 61
60: 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
61: StackMap locals:
StackMap stack:
aload 14
iconst_1
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 16
start local 16 62: aload 0
63: new java.util.HashMap
dup
aload 16
arraylength
invokespecial java.util.HashMap.<init>:(I)V
64: putfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
65: getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 69
66: 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
67: aload 16
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
68: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
69: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aload 16
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 74
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
StackMap stack:
70: aload 20
iload 18
aaload
astore 17
start local 17 71: new sun.security.provider.certpath.OCSPResponse$SingleResponse
dup
aload 17
invokespecial sun.security.provider.certpath.OCSPResponse$SingleResponse.<init>:(Lsun/security/util/DerValue;)V
astore 21
start local 21 72: aload 0
getfield sun.security.provider.certpath.OCSPResponse.singleResponseMap:Ljava/util/Map;
aload 21
invokevirtual sun.security.provider.certpath.OCSPResponse$SingleResponse.getCertId:()Lsun/security/provider/certpath/CertId;
aload 21
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 21 end local 17 73: iinc 18 1
StackMap locals:
StackMap stack:
74: iload 18
iload 19
if_icmplt 70
75: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 17
start local 17 76: aload 14
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 80
77: aload 14
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 15
78: aload 15
iconst_1
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifeq 80
79: aload 15
invokestatic sun.security.provider.certpath.OCSPResponse.parseExtensions:(Lsun/security/util/DerValue;)Ljava/util/Map;
astore 17
80: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map
StackMap stack:
aload 0
aload 17
putfield sun.security.provider.certpath.OCSPResponse.responseExtensions:Ljava/util/Map;
81: aload 17
82: getstatic sun.security.x509.PKIXExtensions.OCSPNonce_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
83: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.x509.Extension
astore 18
start local 18 84: aload 0
aload 18
ifnull 86
85: aload 18
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
goto 87
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] 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
86: aconst_null
87: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] 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
88: getstatic sun.security.provider.certpath.OCSPResponse.DEBUG:Lsun/security/util/Debug;
ifnull 90
aload 0
getfield sun.security.provider.certpath.OCSPResponse.responseNonce:[B
ifnull 90
89: 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
90: StackMap locals:
StackMap stack:
aload 11
iconst_1
aaload
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
astore 19
start local 19 91: aload 11
iconst_2
aaload
invokevirtual sun.security.util.DerValue.getBitString:()[B
astore 20
start local 20 92: aconst_null
astore 21
start local 21 93: aload 11
arraylength
iconst_3
if_icmple 107
94: aload 11
iconst_3
aaload
astore 22
start local 22 95: aload 22
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 97
96: 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
97: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension sun.security.x509.AlgorithmId byte[] sun.security.x509.X509CertImpl[] sun.security.util.DerValue
StackMap stack:
aload 22
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
iconst_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 23
start local 23 98: aload 23
arraylength
anewarray sun.security.x509.X509CertImpl
astore 21
99: iconst_0
istore 24
start local 24 100: goto 103
101: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aload 21
iload 24
new sun.security.x509.X509CertImpl
dup
aload 23
iload 24
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
aastore
102: iinc 24 1
StackMap locals:
StackMap stack:
103: iload 24
aload 23
arraylength
if_icmplt 101
end local 24 104: goto 107
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension sun.security.x509.AlgorithmId byte[] sun.security.x509.X509CertImpl[] sun.security.util.DerValue sun.security.util.DerValue[]
StackMap stack: java.security.cert.CertificateException
105: astore 24
start local 24 106: new java.io.IOException
dup
ldc "Bad encoding in X509 Certificate"
aload 24
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 24 end local 23 end local 22 107: StackMap locals:
StackMap stack:
aload 21
ifnull 135
aload 21
iconst_0
aaload
ifnull 135
108: aload 21
iconst_0
aaload
astore 22
start local 22 109: aload 22
aload 3
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifne 135
110: aload 22
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
111: aload 3
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
112: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
113: ifeq 135
114: aload 22
invokevirtual java.security.cert.X509Certificate.getExtendedKeyUsage:()Ljava/util/List;
astore 23
start local 23 115: aload 23
ifnull 117
116: aload 23
ldc "1.3.6.1.5.5.7.3.9"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 125
117: StackMap locals: java.security.cert.X509Certificate java.util.List
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
118: ldc "Responder's certificate not valid for signing OCSP responses"
119: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
end local 23 120: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension sun.security.x509.AlgorithmId byte[] sun.security.x509.X509CertImpl[] java.security.cert.X509Certificate
StackMap stack: java.security.cert.CertificateParsingException
astore 23
start local 23 121: new java.security.cert.CertPathValidatorException
dup
122: ldc "Responder's certificate not valid for signing OCSP responses"
123: aload 23
124: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 23 125: StackMap locals:
StackMap stack:
new sun.security.provider.certpath.AlgorithmChecker
dup
126: new java.security.cert.TrustAnchor
dup
aload 3
aconst_null
invokespecial java.security.cert.TrustAnchor.<init>:(Ljava/security/cert/X509Certificate;[B)V
aload 4
127: invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/cert/TrustAnchor;Ljava/lang/String;)V
astore 23
start local 23 128: aload 23
iconst_0
invokevirtual sun.security.provider.certpath.AlgorithmChecker.init:(Z)V
129: aload 23
aload 22
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
130: aload 22
aload 3
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
131: aload 22
astore 3
132: goto 135
StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.util.Date java.security.cert.X509Certificate java.lang.String 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 byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerValue[] java.util.Map sun.security.x509.Extension sun.security.x509.AlgorithmId byte[] sun.security.x509.X509CertImpl[] java.security.cert.X509Certificate sun.security.provider.certpath.AlgorithmChecker
StackMap stack: java.security.GeneralSecurityException
133: pop
134: aconst_null
astore 3
end local 23 end local 22 135: StackMap locals:
StackMap stack:
aload 3
ifnull 144
136: aload 3
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
aload 19
aload 4
invokestatic sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/PublicKey;Lsun/security/x509/AlgorithmId;Ljava/lang/String;)V
137: aload 0
aload 13
aload 3
138: aload 19
aload 20
139: invokevirtual sun.security.provider.certpath.OCSPResponse.verifyResponse:([BLjava/security/cert/X509Certificate;Lsun/security/x509/AlgorithmId;[B)Z
140: ifne 147
141: new java.security.cert.CertPathValidatorException
dup
142: ldc "Error verifying OCSP Responder's signature"
143: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
144: StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
145: ldc "Unable to verify OCSP Responder's signature"
146: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
athrow
147: StackMap locals:
StackMap stack:
return
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 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 148 0 this Lsun/security/provider/certpath/OCSPResponse;
0 148 1 bytes [B
0 148 2 dateCheckedAgainst Ljava/util/Date;
0 148 3 responderCert Ljava/security/cert/X509Certificate;
0 148 4 variant Ljava/lang/String;
3 148 5 der Lsun/security/util/DerValue;
6 148 6 derIn Lsun/security/util/DerInputStream;
7 148 7 status I
23 148 8 tmp Lsun/security/util/DerValue;
27 148 9 responseType Lsun/security/util/ObjectIdentifier;
38 148 10 basicOCSPResponse Lsun/security/util/DerInputStream;
39 148 11 seqTmp [Lsun/security/util/DerValue;
42 148 12 responseData Lsun/security/util/DerValue;
43 148 13 responseDataDer [B
46 148 14 seqDerIn Lsun/security/util/DerInputStream;
47 148 15 seq Lsun/security/util/DerValue;
62 148 16 singleResponseDer [Lsun/security/util/DerValue;
71 73 17 srDer Lsun/security/util/DerValue;
72 73 21 singleResponse Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
76 148 17 tmpExtMap Ljava/util/Map<Ljava/lang/String;Lsun/security/x509/Extension;>;
84 148 18 nonceExt Lsun/security/x509/Extension;
91 148 19 sigAlgId Lsun/security/x509/AlgorithmId;
92 148 20 signature [B
93 148 21 x509Certs [Lsun/security/x509/X509CertImpl;
95 107 22 seqCert Lsun/security/util/DerValue;
98 107 23 certs [Lsun/security/util/DerValue;
100 104 24 i I
106 107 24 ce Ljava/security/cert/CertificateException;
109 135 22 cert Ljava/security/cert/X509Certificate;
115 120 23 keyPurposes Ljava/util/List<Ljava/lang/String;>;
121 125 23 cpe Ljava/security/cert/CertificateParsingException;
128 135 23 algChecker Lsun/security/provider/certpath/AlgorithmChecker;
Exception table:
from to target type
99 104 105 Class java.security.cert.CertificateException
114 120 120 Class java.security.cert.CertificateParsingException
130 132 133 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException, java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
bytes
dateCheckedAgainst
responderCert
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 verifyResponse(byte[], java.security.cert.X509Certificate, sun.security.x509.AlgorithmId, byte[]);
descriptor: ([BLjava/security/cert/X509Certificate;Lsun/security/x509/AlgorithmId;[B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 5
start local 5 1: aload 5
aload 2
invokevirtual java.security.Signature.initVerify:(Ljava/security/cert/Certificate;)V
2: aload 5
aload 1
invokevirtual java.security.Signature.update:([B)V
3: aload 5
aload 4
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 Responder"
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 Responder"
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 12: StackMap locals: sun.security.provider.certpath.OCSPResponse byte[] java.security.cert.X509Certificate sun.security.x509.AlgorithmId byte[]
StackMap stack: java.security.InvalidKeyException
astore 5
start local 5 13: new java.security.cert.CertPathValidatorException
dup
aload 5
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 14: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 5
start local 5 15: new java.security.cert.CertPathValidatorException
dup
aload 5
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 16: StackMap locals:
StackMap stack: java.security.SignatureException
astore 5
start local 5 17: new java.security.cert.CertPathValidatorException
dup
aload 5
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
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 18 0 this Lsun/security/provider/certpath/OCSPResponse;
0 18 1 responseData [B
0 18 2 cert Ljava/security/cert/X509Certificate;
0 18 3 sigAlgId Lsun/security/x509/AlgorithmId;
0 18 4 signBytes [B
1 12 5 respSignature Ljava/security/Signature;
13 14 5 ike Ljava/security/InvalidKeyException;
15 16 5 nsae Ljava/security/NoSuchAlgorithmException;
17 18 5 se Ljava/security/SignatureException;
Exception table:
from to target type
0 6 12 Class java.security.InvalidKeyException
7 11 12 Class java.security.InvalidKeyException
0 6 14 Class java.security.NoSuchAlgorithmException
7 11 14 Class java.security.NoSuchAlgorithmException
0 6 16 Class java.security.SignatureException
7 11 16 Class java.security.SignatureException
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
responseData
cert
sigAlgId
signBytes
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;>;
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, sun.security.x509.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.toString:()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;Lsun/security/x509/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;Lsun/security/x509/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:
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