final class sun.security.ssl.CertStatusExtension$OCSPStatusRequest extends sun.security.ssl.CertStatusExtension$CertStatusRequest
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.CertStatusExtension$OCSPStatusRequest
super_class: sun.security.ssl.CertStatusExtension$CertStatusRequest
{
static final sun.security.ssl.CertStatusExtension$OCSPStatusRequest EMPTY_OCSP;
descriptor: Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.security.ssl.CertStatusExtension$OCSPStatusRequest EMPTY_OCSP_MULTI;
descriptor: Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
flags: (0x0018) ACC_STATIC, ACC_FINAL
final java.util.List<sun.security.provider.certpath.ResponderId> responderIds;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Lsun/security/provider/certpath/ResponderId;>;
final java.util.List<java.security.cert.Extension> extensions;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/security/cert/Extension;>;
private final int ridListLen;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int extListLen;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: aconst_null
astore 0
start local 0 1: aconst_null
astore 1
start local 1 2: new sun.security.ssl.CertStatusExtension$OCSPStatusRequest
dup
3: getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
getfield sun.security.ssl.CertStatusExtension$CertStatusRequestType.id:B
4: iconst_4
newarray 8
5: invokespecial sun.security.ssl.CertStatusExtension$OCSPStatusRequest.<init>:(B[B)V
astore 0
6: new sun.security.ssl.CertStatusExtension$OCSPStatusRequest
dup
7: getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
getfield sun.security.ssl.CertStatusExtension$CertStatusRequestType.id:B
8: iconst_4
newarray 8
9: invokespecial sun.security.ssl.CertStatusExtension$OCSPStatusRequest.<init>:(B[B)V
astore 1
10: goto 12
StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest sun.security.ssl.CertStatusExtension$OCSPStatusRequest
StackMap stack: java.io.IOException
11: pop
12: StackMap locals:
StackMap stack:
aload 0
putstatic sun.security.ssl.CertStatusExtension$OCSPStatusRequest.EMPTY_OCSP:Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
13: aload 1
putstatic sun.security.ssl.CertStatusExtension$OCSPStatusRequest.EMPTY_OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
end local 1 end local 0 14: return
LocalVariableTable:
Start End Slot Name Signature
1 14 0 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
2 14 1 multiReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
Exception table:
from to target type
2 10 11 Class java.io.IOException
private void <init>(byte, byte[]);
descriptor: (B[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokespecial sun.security.ssl.CertStatusExtension$CertStatusRequest.<init>:(B[B)V
1: aload 2
ifnull 2
aload 2
arraylength
iconst_4
if_icmpge 5
2: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[]
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
3: ldc "Invalid OCSP status request: insufficient data"
4: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 7: aload 2
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 5
start local 5 8: aload 0
aload 5
invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
9: aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
iconst_2
iadd
if_icmpge 13
10: new javax.net.ssl.SSLProtocolException
dup
11: ldc "Invalid OCSP status request: insufficient data"
12: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.util.List java.util.List java.nio.ByteBuffer
StackMap stack:
aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
istore 6
start local 6 14: goto 23
15: StackMap locals: int
StackMap stack:
aload 5
invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
astore 7
start local 7 16: aload 3
new sun.security.provider.certpath.ResponderId
dup
aload 7
invokespecial sun.security.provider.certpath.ResponderId.<init>:([B)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: goto 22
StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[]
StackMap stack: java.io.IOException
18: pop
19: new javax.net.ssl.SSLProtocolException
dup
20: ldc "Invalid OCSP status request: invalid responder ID"
21: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
iload 6
aload 7
arraylength
iconst_2
iadd
isub
istore 6
end local 7 23: StackMap locals:
StackMap stack:
iload 6
iconst_2
if_icmpge 15
24: iload 6
ifeq 28
25: new javax.net.ssl.SSLProtocolException
dup
26: ldc "Invalid OCSP status request: incomplete data"
27: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
astore 7
start local 7 29: aload 0
aload 7
arraylength
putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extListLen:I
30: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extListLen:I
ifle 44
31: new sun.security.util.DerInputStream
dup
aload 7
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 8
start local 8 32: aload 8
aload 7
arraylength
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
33: astore 9
start local 9 34: aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 38
StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
StackMap stack:
35: aload 13
iload 11
aaload
astore 10
start local 10 36: aload 4
new sun.security.x509.Extension
dup
aload 10
invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/DerValue;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 37: iinc 11 1
StackMap locals:
StackMap stack:
38: iload 11
iload 12
if_icmplt 35
end local 9 end local 8 39: goto 44
StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[]
StackMap stack: java.io.IOException
40: pop
41: new javax.net.ssl.SSLProtocolException
dup
42: ldc "Invalid OCSP status request: invalid extension"
43: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
45: aload 0
aload 4
putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
46: return
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 47 0 this Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
0 47 1 statusType B
0 47 2 encoded [B
6 47 3 rids Ljava/util/List<Lsun/security/provider/certpath/ResponderId;>;
7 47 4 exts Ljava/util/List<Ljava/security/cert/Extension;>;
8 47 5 m Ljava/nio/ByteBuffer;
14 47 6 ridListBytesRemaining I
16 23 7 ridBytes [B
29 47 7 extListBytes [B
32 39 8 dis Lsun/security/util/DerInputStream;
34 39 9 extSeqContents [Lsun/security/util/DerValue;
36 37 10 extDerVal Lsun/security/util/DerValue;
Exception table:
from to target type
16 17 18 Class java.io.IOException
31 39 40 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
statusType
encoded
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: new java.text.MessageFormat
dup
1: ldc "\"certificate status type\": {0}\n\"OCSP status request\": '{'\n{1}\n'}'"
2: getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
3: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 1
start local 1 4: new java.text.MessageFormat
dup
5: ldc "\"responder_id\": {0}\n\"request extensions\": '{'\n{1}\n'}'"
6: getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
7: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 2
start local 2 8: ldc "<empty>"
astore 3
start local 3 9: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 11
10: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 3
11: StackMap locals: java.text.MessageFormat java.text.MessageFormat java.lang.String
StackMap stack:
ldc "<empty>"
astore 4
start local 4 12: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 26
13: new java.lang.StringBuilder
dup
sipush 512
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 14: iconst_1
istore 6
start local 6 15: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 24
StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
16: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Extension
astore 7
start local 7 17: iload 6
ifeq 20
18: iconst_0
istore 6
19: goto 21
20: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int java.security.cert.Extension java.util.Iterator
StackMap stack:
aload 5
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 5
ldc "{\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 24: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
25: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 6 end local 5 26: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String
StackMap stack:
iconst_2
anewarray java.lang.Object
dup
iconst_0
27: aload 3
aastore
dup
iconst_1
28: aload 4
invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
aastore
29: astore 5
start local 5 30: aload 2
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 31: iconst_2
anewarray java.lang.Object
dup
iconst_0
32: aload 0
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.statusType:B
invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.nameOf:(B)Ljava/lang/String;
aastore
dup
iconst_1
33: aload 6
invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
aastore
34: astore 7
start local 7 35: aload 1
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
areturn
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 36 0 this Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
4 36 1 messageFormat Ljava/text/MessageFormat;
8 36 2 requestFormat Ljava/text/MessageFormat;
9 36 3 ridStr Ljava/lang/String;
12 36 4 extsStr Ljava/lang/String;
14 26 5 extBuilder Ljava/lang/StringBuilder;
15 26 6 isFirst Z
17 24 7 ext Ljava/security/cert/Extension;
30 36 5 requestFields [Ljava/lang/Object;
31 36 6 ocspStatusRequest Ljava/lang/String;
35 36 7 messageFields [Ljava/lang/Object;
}
SourceFile: "CertStatusExtension.java"
NestHost: sun.security.ssl.CertStatusExtension
InnerClasses:
CertStatusRequest = sun.security.ssl.CertStatusExtension$CertStatusRequest of sun.security.ssl.CertStatusExtension
final CertStatusRequestType = sun.security.ssl.CertStatusExtension$CertStatusRequestType of sun.security.ssl.CertStatusExtension
final OCSPStatusRequest = sun.security.ssl.CertStatusExtension$OCSPStatusRequest of sun.security.ssl.CertStatusExtension