final class sun.security.ssl.StatusResponseManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.StatusResponseManager
super_class: java.lang.Object
{
private static final int DEFAULT_CORE_THREADS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int DEFAULT_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int DEFAULT_CACHE_LIFETIME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3600
private final java.util.concurrent.ScheduledThreadPoolExecutor threadMgr;
descriptor: Ljava/util/concurrent/ScheduledThreadPoolExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.Cache<sun.security.provider.certpath.CertId, sun.security.ssl.StatusResponseManager$ResponseCacheEntry> responseCache;
descriptor: Lsun/security/util/Cache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lsun/security/util/Cache<Lsun/security/provider/certpath/CertId;Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;>;
private final java.net.URI defaultResponder;
descriptor: Ljava/net/URI;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean respOverride;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int cacheCapacity;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int cacheLifetime;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ignoreExtensions;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new sun.security.action.GetIntegerAction
dup
ldc "jdk.tls.stapling.cacheSize"
2: sipush 256
3: invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 1
start local 1 5: aload 0
iload 1
ifle 6
iload 1
goto 7
StackMap locals: sun.security.ssl.StatusResponseManager int
StackMap stack: sun.security.ssl.StatusResponseManager
6: iconst_0
StackMap locals: sun.security.ssl.StatusResponseManager int
StackMap stack: sun.security.ssl.StatusResponseManager int
7: putfield sun.security.ssl.StatusResponseManager.cacheCapacity:I
8: new sun.security.action.GetIntegerAction
dup
ldc "jdk.tls.stapling.cacheLifetime"
9: sipush 3600
10: invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 2
start local 2 12: aload 0
iload 2
ifle 13
iload 2
goto 14
StackMap locals: sun.security.ssl.StatusResponseManager int int
StackMap stack: sun.security.ssl.StatusResponseManager
13: iconst_0
StackMap locals: sun.security.ssl.StatusResponseManager int int
StackMap stack: sun.security.ssl.StatusResponseManager int
14: putfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
15: ldc "jdk.tls.stapling.responderURI"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
16: astore 3
start local 3 17: aload 3
ifnull 19
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 19
18: new java.net.URI
dup
aload 3
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
goto 20
StackMap locals: java.lang.String
StackMap stack:
19: aconst_null
20: StackMap locals:
StackMap stack: java.net.URI
astore 4
start local 4 21: goto 24
end local 4 StackMap locals:
StackMap stack: java.net.URISyntaxException
22: pop
23: aconst_null
astore 4
start local 4 24: StackMap locals: java.net.URI
StackMap stack:
aload 0
aload 4
putfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
25: aload 0
26: ldc "jdk.tls.stapling.responderOverride"
invokestatic sun.security.action.GetBooleanAction.privilegedGetProperty:(Ljava/lang/String;)Z
27: putfield sun.security.ssl.StatusResponseManager.respOverride:Z
28: aload 0
29: ldc "jdk.tls.stapling.ignoreExtensions"
invokestatic sun.security.action.GetBooleanAction.privilegedGetProperty:(Ljava/lang/String;)Z
30: putfield sun.security.ssl.StatusResponseManager.ignoreExtensions:Z
31: aload 0
new java.util.concurrent.ScheduledThreadPoolExecutor
dup
bipush 8
32: new sun.security.ssl.StatusResponseManager$1
dup
aload 0
invokespecial sun.security.ssl.StatusResponseManager$1.<init>:(Lsun/security/ssl/StatusResponseManager;)V
33: new java.util.concurrent.ThreadPoolExecutor$DiscardPolicy
dup
invokespecial java.util.concurrent.ThreadPoolExecutor$DiscardPolicy.<init>:()V
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor.<init>:(ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
34: putfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
35: aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iconst_0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy:(Z)V
36: aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
37: iconst_0
38: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setContinueExistingPeriodicTasksAfterShutdownPolicy:(Z)V
39: aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
ldc 5000
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setKeepAliveTime:(JLjava/util/concurrent/TimeUnit;)V
40: aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iconst_1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.allowCoreThreadTimeOut:(Z)V
41: aload 0
42: aload 0
getfield sun.security.ssl.StatusResponseManager.cacheCapacity:I
aload 0
getfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
43: invokestatic sun.security.util.Cache.newSoftMemoryCache:(II)Lsun/security/util/Cache;
putfield sun.security.ssl.StatusResponseManager.responseCache:Lsun/security/util/Cache;
44: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/ssl/StatusResponseManager;
5 45 1 cap I
12 45 2 life I
17 45 3 uriStr Ljava/lang/String;
21 22 4 tmpURI Ljava/net/URI;
24 45 4 tmpURI Ljava/net/URI;
Exception table:
from to target type
17 21 22 Class java.net.URISyntaxException
int getCacheLifetime();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
int getCacheCapacity();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.cacheCapacity:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
java.net.URI getDefaultResponder();
descriptor: ()Ljava/net/URI;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
boolean getURIOverride();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.respOverride:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
boolean getIgnoreExtensions();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.ignoreExtensions:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 2
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 2
1: ldc "Clearing response cache"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.StatusResponseManager.responseCache:Lsun/security/util/Cache;
invokevirtual sun.security.util.Cache.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/StatusResponseManager;
int size();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.StatusResponseManager.responseCache:Lsun/security/util/Cache;
invokevirtual sun.security.util.Cache.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/StatusResponseManager;
java.net.URI getURI(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/net/URI;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
2: getstatic sun.security.x509.PKIXExtensions.OCSPNoCheck_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
3: invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
ifnull 8
4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 7
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 7
5: ldc "OCSP NoCheck extension found. OCSP will be skipped"
iconst_0
anewarray java.lang.Object
6: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
ifnull 13
aload 0
getfield sun.security.ssl.StatusResponseManager.respOverride:Z
ifeq 13
9: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 12
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 12
10: new java.lang.StringBuilder
dup
ldc "Responder override: URI is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
11: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
areturn
13: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.certpath.OCSP.getResponderURI:(Ljava/security/cert/X509Certificate;)Ljava/net/URI;
astore 2
start local 2 14: aload 2
ifnull 15
aload 2
goto 16
StackMap locals: java.net.URI
StackMap stack:
15: aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
StackMap locals:
StackMap stack: java.net.URI
16: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/StatusResponseManager;
0 17 1 cert Ljava/security/cert/X509Certificate;
14 17 2 certURI Ljava/net/URI;
MethodParameters:
Name Flags
cert
void shutdown();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
1: new java.lang.StringBuilder
dup
ldc "Shutting down "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.getActiveCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc " active threads"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdown:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/StatusResponseManager;
java.util.Map<java.security.cert.X509Certificate, byte[]> get(sun.security.ssl.CertStatusExtension$CertStatusRequestType, sun.security.ssl.CertStatusExtension$CertStatusRequest, java.security.cert.X509Certificate[], long, java.util.concurrent.TimeUnit);
descriptor: (Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;Lsun/security/ssl/CertStatusExtension$CertStatusRequest;[Ljava/security/cert/X509Certificate;JLjava/util/concurrent/TimeUnit;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=7, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 2: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 7
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 7
3: new java.lang.StringBuilder
dup
ldc "Beginning check: Type = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", Chain length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 3
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
6: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: java.util.Map java.util.List
StackMap stack:
aload 3
arraylength
iconst_2
if_icmpge 9
8: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 26
10: aload 2
checkcast sun.security.ssl.CertStatusExtension$OCSPStatusRequest
astore 9
start local 9 11: new sun.security.provider.certpath.CertId
dup
aload 3
iconst_1
aaload
12: new sun.security.x509.SerialNumber
dup
aload 3
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
invokespecial sun.security.x509.SerialNumber.<init>:(Ljava/math/BigInteger;)V
13: invokespecial sun.security.provider.certpath.CertId.<init>:(Ljava/security/cert/X509Certificate;Lsun/security/x509/SerialNumber;)V
astore 10
start local 10 14: aload 0
aload 10
aload 9
invokevirtual sun.security.ssl.StatusResponseManager.getFromCache:(Lsun/security/provider/certpath/CertId;Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;)Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
astore 11
start local 11 15: aload 11
ifnull 18
16: aload 7
aload 3
iconst_0
aaload
aload 11
getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.ocspBytes:[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: goto 50
18: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest sun.security.provider.certpath.CertId sun.security.ssl.StatusResponseManager$ResponseCacheEntry
StackMap stack:
new sun.security.ssl.StatusResponseManager$StatusInfo
dup
aload 0
aload 3
iconst_0
aaload
aload 10
invokespecial sun.security.ssl.StatusResponseManager$StatusInfo.<init>:(Lsun/security/ssl/StatusResponseManager;Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/CertId;)V
astore 12
start local 12 19: aload 8
new sun.security.ssl.StatusResponseManager$OCSPFetchCall
dup
aload 0
aload 12
aload 9
invokespecial sun.security.ssl.StatusResponseManager$OCSPFetchCall.<init>:(Lsun/security/ssl/StatusResponseManager;Lsun/security/ssl/StatusResponseManager$StatusInfo;Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 10 end local 9 20: goto 50
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List
StackMap stack: java.io.IOException
21: astore 9
start local 9 22: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 50
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 50
23: ldc "Exception during CertId creation: "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
24: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 25: goto 50
StackMap locals:
StackMap stack:
26: aload 1
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 48
27: aload 2
checkcast sun.security.ssl.CertStatusExtension$OCSPStatusRequest
astore 9
start local 9 28: iconst_0
istore 10
start local 10 29: goto 46
30: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int
StackMap stack:
new sun.security.provider.certpath.CertId
dup
aload 3
iload 10
iconst_1
iadd
aaload
31: new sun.security.x509.SerialNumber
dup
aload 3
iload 10
aaload
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
invokespecial sun.security.x509.SerialNumber.<init>:(Ljava/math/BigInteger;)V
32: invokespecial sun.security.provider.certpath.CertId.<init>:(Ljava/security/cert/X509Certificate;Lsun/security/x509/SerialNumber;)V
astore 11
start local 11 33: aload 0
aload 11
aload 9
invokevirtual sun.security.ssl.StatusResponseManager.getFromCache:(Lsun/security/provider/certpath/CertId;Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;)Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
34: astore 12
start local 12 35: aload 12
ifnull 38
36: aload 7
aload 3
iload 10
aaload
aload 12
getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.ocspBytes:[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: goto 45
38: StackMap locals: sun.security.provider.certpath.CertId sun.security.ssl.StatusResponseManager$ResponseCacheEntry
StackMap stack:
new sun.security.ssl.StatusResponseManager$StatusInfo
dup
aload 0
aload 3
iload 10
aaload
aload 11
invokespecial sun.security.ssl.StatusResponseManager$StatusInfo.<init>:(Lsun/security/ssl/StatusResponseManager;Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/CertId;)V
astore 13
start local 13 39: aload 8
new sun.security.ssl.StatusResponseManager$OCSPFetchCall
dup
aload 0
aload 13
aload 9
invokespecial sun.security.ssl.StatusResponseManager$OCSPFetchCall.<init>:(Lsun/security/ssl/StatusResponseManager;Lsun/security/ssl/StatusResponseManager$StatusInfo;Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 11 40: goto 45
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List sun.security.ssl.CertStatusExtension$OCSPStatusRequest int
StackMap stack: java.io.IOException
41: astore 11
start local 11 42: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 45
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 45
43: ldc "Exception during CertId creation: "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 11
aastore
44: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 11 45: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
46: iload 10
aload 3
arraylength
iconst_1
isub
if_icmplt 30
end local 10 end local 9 47: goto 50
48: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 50
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 50
49: new java.lang.StringBuilder
dup
ldc "Unsupported status request type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
50: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.List.isEmpty:()Z
ifne 76
51: aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
aload 8
lload 4
aload 6
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.invokeAll:(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;
52: astore 9
start local 9 53: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 71
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List java.util.List top java.util.Iterator
StackMap stack:
54: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 10
start local 10 55: aload 10
invokeinterface java.util.concurrent.Future.isDone:()Z
ifne 57
56: goto 71
57: StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List java.util.List java.util.concurrent.Future java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.concurrent.Future.isCancelled:()Z
ifne 69
58: aload 10
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
checkcast sun.security.ssl.StatusResponseManager$StatusInfo
astore 12
start local 12 59: aload 12
ifnull 64
aload 12
getfield sun.security.ssl.StatusResponseManager$StatusInfo.responseData:Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
ifnull 64
60: aload 7
aload 12
getfield sun.security.ssl.StatusResponseManager$StatusInfo.cert:Ljava/security/cert/X509Certificate;
61: aload 12
getfield sun.security.ssl.StatusResponseManager$StatusInfo.responseData:Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.ocspBytes:[B
62: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
63: goto 71
StackMap locals: sun.security.ssl.StatusResponseManager$StatusInfo
StackMap stack:
64: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 71
65: ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 71
66: ldc "Completed task had no response data"
iconst_0
anewarray java.lang.Object
67: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 68: goto 71
69: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 71
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 71
70: ldc "Found cancelled task"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 10 71: StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 54
end local 9 72: goto 76
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.security.cert.X509Certificate[] long java.util.concurrent.TimeUnit java.util.Map java.util.List
StackMap stack: java.lang.Exception
73: astore 9
start local 9 74: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 76
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 76
75: ldc "Exception when getting data: "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 76: StackMap locals:
StackMap stack:
aload 7
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lsun/security/ssl/StatusResponseManager;
0 77 1 type Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
0 77 2 request Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
0 77 3 chain [Ljava/security/cert/X509Certificate;
0 77 4 delay J
0 77 6 unit Ljava/util/concurrent/TimeUnit;
1 77 7 responseMap Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;
2 77 8 requestList Ljava/util/List<Lsun/security/ssl/StatusResponseManager$OCSPFetchCall;>;
11 20 9 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
14 20 10 cid Lsun/security/provider/certpath/CertId;
15 20 11 cacheEntry Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
19 20 12 sInfo Lsun/security/ssl/StatusResponseManager$StatusInfo;
22 25 9 exc Ljava/io/IOException;
28 47 9 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
29 47 10 ctr I
33 40 11 cid Lsun/security/provider/certpath/CertId;
35 40 12 cacheEntry Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
39 40 13 sInfo Lsun/security/ssl/StatusResponseManager$StatusInfo;
42 45 11 exc Ljava/io/IOException;
53 72 9 resultList Ljava/util/List<Ljava/util/concurrent/Future<Lsun/security/ssl/StatusResponseManager$StatusInfo;>;>;
55 71 10 task Ljava/util/concurrent/Future<Lsun/security/ssl/StatusResponseManager$StatusInfo;>;
59 68 12 info Lsun/security/ssl/StatusResponseManager$StatusInfo;
74 76 9 exc Ljava/lang/Exception;
Exception table:
from to target type
10 20 21 Class java.io.IOException
30 40 41 Class java.io.IOException
51 72 73 Class java.lang.InterruptedException
51 72 73 Class java.util.concurrent.ExecutionException
Signature: (Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;Lsun/security/ssl/CertStatusExtension$CertStatusRequest;[Ljava/security/cert/X509Certificate;JLjava/util/concurrent/TimeUnit;)Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;
MethodParameters:
Name Flags
type
request
chain
delay
unit
private sun.security.ssl.StatusResponseManager$ResponseCacheEntry getFromCache(sun.security.provider.certpath.CertId, sun.security.ssl.CertStatusExtension$OCSPStatusRequest);
descriptor: (Lsun/security/provider/certpath/CertId;Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;)Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.provider.certpath.CertId sun.security.ssl.CertStatusExtension$OCSPStatusRequest top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Extension
astore 3
start local 3 2: aload 3
invokeinterface java.security.cert.Extension.getId:()Ljava/lang/String;
3: getstatic sun.security.x509.PKIXExtensions.OCSPNonce_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
4: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
5: ifeq 10
6: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 9
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 9
7: ldc "Nonce extension found, skipping cache check"
iconst_0
anewarray java.lang.Object
8: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals: sun.security.ssl.StatusResponseManager sun.security.provider.certpath.CertId sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.security.cert.Extension java.util.Iterator
StackMap stack:
aconst_null
areturn
end local 3 10: StackMap locals: sun.security.ssl.StatusResponseManager sun.security.provider.certpath.CertId sun.security.ssl.CertStatusExtension$OCSPStatusRequest top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: aload 0
getfield sun.security.ssl.StatusResponseManager.responseCache:Lsun/security/util/Cache;
aload 1
invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.StatusResponseManager$ResponseCacheEntry
astore 3
start local 3 12: aload 3
ifnull 18
aload 3
getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.nextUpdate:Ljava/util/Date;
ifnull 18
13: aload 3
getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.nextUpdate:Ljava/util/Date;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifeq 18
14: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 17
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 17
15: ldc "nextUpdate threshold exceeded, purging from cache"
iconst_0
anewarray java.lang.Object
16: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
17: StackMap locals: sun.security.ssl.StatusResponseManager sun.security.provider.certpath.CertId sun.security.ssl.CertStatusExtension$OCSPStatusRequest sun.security.ssl.StatusResponseManager$ResponseCacheEntry
StackMap stack:
aconst_null
astore 3
18: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "respmgr"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
19: new java.lang.StringBuilder
dup
ldc "Check cache for SN"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.security.provider.certpath.CertId.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: aload 3
ifnull 21
ldc "HIT"
goto 22
StackMap locals:
StackMap stack: java.lang.StringBuilder
21: ldc "MISS"
StackMap locals: sun.security.ssl.StatusResponseManager sun.security.provider.certpath.CertId sun.security.ssl.CertStatusExtension$OCSPStatusRequest sun.security.ssl.StatusResponseManager$ResponseCacheEntry
StackMap stack: java.lang.StringBuilder java.lang.String
22: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
24: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
25: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/ssl/StatusResponseManager;
0 26 1 cid Lsun/security/provider/certpath/CertId;
0 26 2 ocspRequest Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
2 10 3 ext Ljava/security/cert/Extension;
12 26 3 respEntry Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
MethodParameters:
Name Flags
cid
ocspRequest
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "StatusResponseManager: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
ldc "Core threads: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ssl.StatusResponseManager.threadMgr:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.getCorePoolSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc ", Cache timeout: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
getfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
ifle 6
4: aload 1
aload 0
getfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " seconds"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: goto 7
6: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc " indefinite"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 1
ldc ", Cache MaxSize: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 0
getfield sun.security.ssl.StatusResponseManager.cacheCapacity:I
ifle 11
9: aload 1
aload 0
getfield sun.security.ssl.StatusResponseManager.cacheCapacity:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " items"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
ldc " unbounded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
aload 1
ldc ", Default URI: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
ifnull 16
14: aload 1
aload 0
getfield sun.security.ssl.StatusResponseManager.defaultResponder:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
15: goto 17
16: StackMap locals:
StackMap stack:
aload 1
ldc "NONE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/StatusResponseManager;
1 18 1 sb Ljava/lang/StringBuilder;
static final sun.security.ssl.StatusResponseManager$StaplingParameters processStapling(sun.security.ssl.ServerHandshakeContext);
descriptor: (Lsun/security/ssl/ServerHandshakeContext;)Lsun/security/ssl/StatusResponseManager$StaplingParameters;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=16, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 0
getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
iconst_0
invokevirtual sun.security.ssl.SSLContextImpl.isStaplingEnabled:(Z)Z
ifeq 5
aload 0
getfield sun.security.ssl.ServerHandshakeContext.isResumption:Z
ifeq 8
5: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 7
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 7
6: ldc "Staping disabled or is a resumed session"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshakeContext.handshakeExtensions:Ljava/util/Map;
9: astore 6
start local 6 10: aload 6
11: getstatic sun.security.ssl.SSLExtension.CH_STATUS_REQUEST:Lsun/security/ssl/SSLExtension;
12: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusExtension$CertStatusRequestSpec
astore 7
start local 7 13: aload 6
getstatic sun.security.ssl.SSLExtension.CH_STATUS_REQUEST_V2:Lsun/security/ssl/SSLExtension;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec
14: astore 8
start local 8 15: aload 8
ifnull 51
aload 0
getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 51
16: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 18
ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 18
17: ldc "SH Processing status_request_v2 extension"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
18: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest top java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec
StackMap stack:
getstatic sun.security.ssl.SSLExtension.CH_STATUS_REQUEST_V2:Lsun/security/ssl/SSLExtension;
astore 2
19: iconst_m1
istore 9
start local 9 20: iconst_m1
istore 10
start local 10 21: aload 8
getfield sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec.certStatusRequests:[Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
astore 11
start local 11 22: iconst_0
istore 12
start local 12 23: goto 38
24: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest top java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec int int sun.security.ssl.CertStatusExtension$CertStatusRequest[] int
StackMap stack:
aload 11
iload 12
aaload
astore 13
start local 13 25: aload 13
getfield sun.security.ssl.CertStatusExtension$CertStatusRequest.statusType:B
invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.valueOf:(B)Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
26: astore 14
start local 14 27: iload 9
ifge 32
aload 14
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 32
28: aload 13
checkcast sun.security.ssl.CertStatusExtension$OCSPStatusRequest
astore 15
start local 15 29: aload 15
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 37
30: iload 12
istore 9
end local 15 31: goto 37
StackMap locals: sun.security.ssl.CertStatusExtension$CertStatusRequest sun.security.ssl.CertStatusExtension$CertStatusRequestType
StackMap stack:
32: iload 10
ifge 37
33: aload 14
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 37
34: aload 13
checkcast sun.security.ssl.CertStatusExtension$OCSPStatusRequest
astore 15
start local 15 35: aload 15
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 37
36: iload 12
istore 10
end local 15 end local 14 end local 13 37: StackMap locals:
StackMap stack:
iinc 12 1
38: StackMap locals:
StackMap stack:
iload 12
aload 11
arraylength
if_icmpge 40
39: iload 9
iconst_m1
if_icmpeq 24
iload 10
iconst_m1
if_icmpeq 24
end local 12 40: StackMap locals:
StackMap stack:
iload 10
iflt 44
41: aload 11
iload 10
aaload
astore 4
42: aload 4
getfield sun.security.ssl.CertStatusExtension$CertStatusRequest.statusType:B
invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.valueOf:(B)Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
astore 3
43: goto 51
StackMap locals:
StackMap stack:
44: iload 9
iflt 48
45: aload 11
iload 9
aaload
astore 4
46: aload 4
getfield sun.security.ssl.CertStatusExtension$CertStatusRequest.statusType:B
invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.valueOf:(B)Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
astore 3
47: goto 51
48: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 51
49: ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 51
50: ldc "Warning: No suitable request found in the status_request_v2 extension."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 11 end local 10 end local 9 51: StackMap locals:
StackMap stack:
aload 7
ifnull 66
52: aload 2
ifnull 53
aload 3
ifnull 53
aload 4
ifnonnull 66
53: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 55
ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 55
54: ldc "SH Processing status_request extension"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
55: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLExtension.CH_STATUS_REQUEST:Lsun/security/ssl/SSLExtension;
astore 2
56: aload 7
getfield sun.security.ssl.CertStatusExtension$CertStatusRequestSpec.statusRequest:Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
getfield sun.security.ssl.CertStatusExtension$CertStatusRequest.statusType:B
57: invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.valueOf:(B)Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
astore 3
58: aload 3
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 66
59: aload 7
getfield sun.security.ssl.CertStatusExtension$CertStatusRequestSpec.statusRequest:Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
checkcast sun.security.ssl.CertStatusExtension$OCSPStatusRequest
60: astore 9
start local 9 61: aload 9
getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 64
62: aload 9
astore 4
63: goto 66
64: StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 66
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 66
65: ldc "Warning: No suitable request found in the status_request extension."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 66: StackMap locals:
StackMap stack:
aload 3
ifnull 67
aload 4
ifnull 67
aload 2
ifnonnull 70
67: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 69
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 69
68: ldc "No suitable status_request or status_request_v2, stapling is disabled"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
69: StackMap locals:
StackMap stack:
aconst_null
areturn
70: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 71: aload 0
getfield sun.security.ssl.ServerHandshakeContext.handshakePossessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 76
StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest top java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec sun.security.ssl.X509Authentication$X509Possession top java.util.Iterator
StackMap stack:
72: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.SSLPossession
astore 10
start local 10 73: aload 10
instanceof sun.security.ssl.X509Authentication$X509Possession
ifeq 76
74: aload 10
checkcast sun.security.ssl.X509Authentication$X509Possession
astore 9
75: goto 77
end local 10 76: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
77: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest top java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec sun.security.ssl.X509Authentication$X509Possession
StackMap stack:
aload 9
ifnonnull 81
78: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 80
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 80
79: ldc "Warning: no X.509 certificates found. Stapling is disabled."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
80: StackMap locals:
StackMap stack:
aconst_null
areturn
81: StackMap locals:
StackMap stack:
aload 9
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
astore 10
start local 10 82: aload 0
getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getStatusResponseManager:()Lsun/security/ssl/StatusResponseManager;
83: astore 11
start local 11 84: aload 11
ifnull 109
85: aload 0
getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 87
86: getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
goto 88
StackMap locals: java.security.cert.X509Certificate[] sun.security.ssl.StatusResponseManager
StackMap stack:
87: aload 3
88: StackMap locals:
StackMap stack: sun.security.ssl.CertStatusExtension$CertStatusRequestType
astore 12
start local 12 89: aload 11
aload 12
aload 4
aload 10
90: aload 0
getfield sun.security.ssl.ServerHandshakeContext.statusRespTimeout:J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
91: invokevirtual sun.security.ssl.StatusResponseManager.get:(Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;Lsun/security/ssl/CertStatusExtension$CertStatusRequest;[Ljava/security/cert/X509Certificate;JLjava/util/concurrent/TimeUnit;)Ljava/util/Map;
astore 5
start local 5 92: aload 5
invokeinterface java.util.Map.isEmpty:()Z
ifne 106
93: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 97
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 97
94: new java.lang.StringBuilder
dup
ldc "Response manager returned "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
95: aload 5
invokeinterface java.util.Map.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
96: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
97: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest java.util.Map java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec sun.security.ssl.X509Authentication$X509Possession java.security.cert.X509Certificate[] sun.security.ssl.StatusResponseManager sun.security.ssl.CertStatusExtension$CertStatusRequestType
StackMap stack:
aload 3
getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
if_acmpne 104
98: aload 5
aload 10
iconst_0
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 13
start local 13 99: aload 13
ifnull 100
aload 13
arraylength
ifgt 104
100: StackMap locals: byte[]
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 103
101: ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 103
102: ldc "Warning: Null or zero-length response found for leaf certificate. Stapling is disabled."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
103: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 13 104: StackMap locals:
StackMap stack:
new sun.security.ssl.StatusResponseManager$StaplingParameters
dup
aload 2
aload 3
aload 4
aload 5
invokespecial sun.security.ssl.StatusResponseManager$StaplingParameters.<init>:(Lsun/security/ssl/SSLExtension;Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;Lsun/security/ssl/CertStatusExtension$CertStatusRequest;Ljava/util/Map;)V
astore 1
105: goto 112
106: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 112
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 112
107: ldc "Warning: no OCSP responses obtained. Stapling is disabled."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 108: goto 112
end local 5 109: StackMap locals: sun.security.ssl.ServerHandshakeContext sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.SSLExtension sun.security.ssl.CertStatusExtension$CertStatusRequestType sun.security.ssl.CertStatusExtension$CertStatusRequest top java.util.Map sun.security.ssl.CertStatusExtension$CertStatusRequestSpec sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec sun.security.ssl.X509Authentication$X509Possession java.security.cert.X509Certificate[] sun.security.ssl.StatusResponseManager
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 111
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 111
110: ldc "Warning: lazy initialization of the StatusResponseManager failed. Stapling is disabled."
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
111: StackMap locals:
StackMap stack:
aconst_null
astore 1
112: StackMap locals:
StackMap stack:
aload 1
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 113 0 shc Lsun/security/ssl/ServerHandshakeContext;
1 113 1 params Lsun/security/ssl/StatusResponseManager$StaplingParameters;
2 113 2 ext Lsun/security/ssl/SSLExtension;
3 113 3 type Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
4 113 4 req Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
92 109 5 responses Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;
10 113 6 exts Ljava/util/Map<Lsun/security/ssl/SSLExtension;Lsun/security/ssl/SSLExtension$SSLExtensionSpec;>;
13 113 7 statReq Lsun/security/ssl/CertStatusExtension$CertStatusRequestSpec;
15 113 8 statReqV2 Lsun/security/ssl/CertStatusExtension$CertStatusRequestV2Spec;
20 51 9 ocspIdx I
21 51 10 ocspMultiIdx I
22 51 11 reqItems [Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
23 40 12 pos I
25 37 13 item Lsun/security/ssl/CertStatusExtension$CertStatusRequest;
27 37 14 curType Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
29 31 15 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
35 37 15 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
61 66 9 ocspReq Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
71 113 9 x509Possession Lsun/security/ssl/X509Authentication$X509Possession;
73 76 10 possession Lsun/security/ssl/SSLPossession;
82 113 10 certs [Ljava/security/cert/X509Certificate;
84 113 11 statRespMgr Lsun/security/ssl/StatusResponseManager;
89 108 12 fetchType Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
99 104 13 respDER [B
MethodParameters:
Name Flags
shc
}
SourceFile: "StatusResponseManager.java"
NestMembers:
sun.security.ssl.StatusResponseManager$1 sun.security.ssl.StatusResponseManager$OCSPFetchCall sun.security.ssl.StatusResponseManager$ResponseCacheEntry sun.security.ssl.StatusResponseManager$StaplingParameters sun.security.ssl.StatusResponseManager$StatusInfo
InnerClasses:
public DiscardPolicy = java.util.concurrent.ThreadPoolExecutor$DiscardPolicy of java.util.concurrent.ThreadPoolExecutor
CertStatusRequest = sun.security.ssl.CertStatusExtension$CertStatusRequest of sun.security.ssl.CertStatusExtension
final CertStatusRequestSpec = sun.security.ssl.CertStatusExtension$CertStatusRequestSpec of sun.security.ssl.CertStatusExtension
final CertStatusRequestType = sun.security.ssl.CertStatusExtension$CertStatusRequestType of sun.security.ssl.CertStatusExtension
final CertStatusRequestV2Spec = sun.security.ssl.CertStatusExtension$CertStatusRequestV2Spec of sun.security.ssl.CertStatusExtension
final OCSPStatusRequest = sun.security.ssl.CertStatusExtension$OCSPStatusRequest of sun.security.ssl.CertStatusExtension
sun.security.ssl.StatusResponseManager$1
OCSPFetchCall = sun.security.ssl.StatusResponseManager$OCSPFetchCall of sun.security.ssl.StatusResponseManager
ResponseCacheEntry = sun.security.ssl.StatusResponseManager$ResponseCacheEntry of sun.security.ssl.StatusResponseManager
final StaplingParameters = sun.security.ssl.StatusResponseManager$StaplingParameters of sun.security.ssl.StatusResponseManager
StatusInfo = sun.security.ssl.StatusResponseManager$StatusInfo of sun.security.ssl.StatusResponseManager
final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication