public final class io.netty.handler.ssl.ReferenceCountedOpenSslClientContext extends io.netty.handler.ssl.ReferenceCountedOpenSslContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
super_class: io.netty.handler.ssl.ReferenceCountedOpenSslContext
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.handler.ssl.OpenSslSessionContext sessionContext;
descriptor: Lio/netty/handler/ssl/OpenSslSessionContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/ssl/ReferenceCountedOpenSslClientContext;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
1: putstatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.logger:Lio/netty/util/internal/logging/InternalLogger;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.cert.X509Certificate[], javax.net.ssl.TrustManagerFactory, java.security.cert.X509Certificate[], java.security.PrivateKey, java.lang.String, javax.net.ssl.KeyManagerFactory, java.lang.Iterable<java.lang.String>, io.netty.handler.ssl.CipherSuiteFilter, io.netty.handler.ssl.ApplicationProtocolConfig, java.lang.String[], long, long, );
descriptor: ([Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;Ljava/lang/Iterable;Lio/netty/handler/ssl/CipherSuiteFilter;Lio/netty/handler/ssl/ApplicationProtocolConfig;[Ljava/lang/String;JJZ)V
flags: (0x0000)
Code:
stack=15, locals=18, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 13 start local 15 0: aload 0
aload 7
aload 8
aload 9
lload 11
lload 13
iconst_0
aload 3
1: getstatic io.netty.handler.ssl.ClientAuth.NONE:Lio/netty/handler/ssl/ClientAuth;
aload 10
iconst_0
iload 15
iconst_1
invokespecial io.netty.handler.ssl.ReferenceCountedOpenSslContext.<init>:(Ljava/lang/Iterable;Lio/netty/handler/ssl/CipherSuiteFilter;Lio/netty/handler/ssl/ApplicationProtocolConfig;JJI[Ljava/security/cert/Certificate;Lio/netty/handler/ssl/ClientAuth;[Ljava/lang/String;ZZZ)V
2: iconst_0
istore 16
start local 16 3: aload 0
aload 0
aload 0
getfield io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.ctx:J
aload 0
getfield io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.engineMap:Lio/netty/handler/ssl/OpenSslEngineMap;
aload 1
aload 2
4: aload 3
aload 4
aload 5
aload 6
5: invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.newSessionContext:(Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;JLio/netty/handler/ssl/OpenSslEngineMap;[Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;)Lio/netty/handler/ssl/OpenSslSessionContext;
putfield io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.sessionContext:Lio/netty/handler/ssl/OpenSslSessionContext;
6: iconst_1
istore 16
7: goto 12
StackMap locals: io.netty.handler.ssl.ReferenceCountedOpenSslClientContext java.security.cert.X509Certificate[] javax.net.ssl.TrustManagerFactory java.security.cert.X509Certificate[] java.security.PrivateKey java.lang.String javax.net.ssl.KeyManagerFactory java.lang.Iterable io.netty.handler.ssl.CipherSuiteFilter io.netty.handler.ssl.ApplicationProtocolConfig java.lang.String[] long long int int
StackMap stack: java.lang.Throwable
8: astore 17
9: iload 16
ifne 11
10: aload 0
invokevirtual io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.release:()Z
pop
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 17
athrow
12: StackMap locals:
StackMap stack:
iload 16
ifne 14
13: aload 0
invokevirtual io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.release:()Z
pop
14: StackMap locals:
StackMap stack:
return
end local 16 end local 15 end local 13 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 15 0 this Lio/netty/handler/ssl/ReferenceCountedOpenSslClientContext;
0 15 1 trustCertCollection [Ljava/security/cert/X509Certificate;
0 15 2 trustManagerFactory Ljavax/net/ssl/TrustManagerFactory;
0 15 3 keyCertChain [Ljava/security/cert/X509Certificate;
0 15 4 key Ljava/security/PrivateKey;
0 15 5 keyPassword Ljava/lang/String;
0 15 6 keyManagerFactory Ljavax/net/ssl/KeyManagerFactory;
0 15 7 ciphers Ljava/lang/Iterable<Ljava/lang/String;>;
0 15 8 cipherFilter Lio/netty/handler/ssl/CipherSuiteFilter;
0 15 9 apn Lio/netty/handler/ssl/ApplicationProtocolConfig;
0 15 10 protocols [Ljava/lang/String;
0 15 11 sessionCacheSize J
0 15 13 sessionTimeout J
0 15 15 enableOcsp Z
3 15 16 success Z
Exception table:
from to target type
3 8 8 any
Exceptions:
throws javax.net.ssl.SSLException
Signature: ([Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;Ljava/lang/Iterable<Ljava/lang/String;>;Lio/netty/handler/ssl/CipherSuiteFilter;Lio/netty/handler/ssl/ApplicationProtocolConfig;[Ljava/lang/String;JJZ)V
MethodParameters:
Name Flags
trustCertCollection
trustManagerFactory
keyCertChain
key
keyPassword
keyManagerFactory
ciphers
cipherFilter
apn
protocols
sessionCacheSize
sessionTimeout
enableOcsp
io.netty.handler.ssl.OpenSslKeyMaterialManager keyMaterialManager();
descriptor: ()Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/ReferenceCountedOpenSslClientContext;
public io.netty.handler.ssl.OpenSslSessionContext sessionContext();
descriptor: ()Lio/netty/handler/ssl/OpenSslSessionContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.sessionContext:Lio/netty/handler/ssl/OpenSslSessionContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/ReferenceCountedOpenSslClientContext;
static io.netty.handler.ssl.OpenSslSessionContext newSessionContext(io.netty.handler.ssl.ReferenceCountedOpenSslContext, long, io.netty.handler.ssl.OpenSslEngineMap, java.security.cert.X509Certificate[], javax.net.ssl.TrustManagerFactory, java.security.cert.X509Certificate[], java.security.PrivateKey, java.lang.String, javax.net.ssl.KeyManagerFactory);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;JLio/netty/handler/ssl/OpenSslEngineMap;[Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;)Lio/netty/handler/ssl/OpenSslSessionContext;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=12, args_size=9
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 7
ifnonnull 1
aload 6
ifnonnull 2
StackMap locals:
StackMap stack:
1: aload 7
ifnull 5
aload 6
ifnonnull 5
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
3: ldc "Either both keyCertChain and key needs to be null or none of them"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.ssl.OpenSsl.useKeyManagerFactory:()Z
ifne 13
6: aload 9
ifnull 10
7: new java.lang.IllegalArgumentException
dup
8: ldc "KeyManagerFactory not supported"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 6
ifnull 31
11: lload 1
aload 6
aload 7
aload 8
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.setKeyMaterial:(J[Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;)V
12: goto 31
13: StackMap locals:
StackMap stack:
aload 9
ifnonnull 16
aload 6
ifnull 16
14: aload 6
aload 7
aload 8
aload 9
15: invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.buildKeyManagerFactory:([Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;)Ljavax/net/ssl/KeyManagerFactory;
astore 9
16: StackMap locals:
StackMap stack:
aload 9
ifnull 31
17: aload 9
invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.chooseX509KeyManager:([Ljavax/net/ssl/KeyManager;)Ljavax/net/ssl/X509KeyManager;
astore 10
start local 10 18: aload 10
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.useExtendedKeyManager:(Ljavax/net/ssl/X509KeyManager;)Z
ifeq 23
19: new io.netty.handler.ssl.OpenSslExtendedKeyMaterialManager
dup
20: aload 10
checkcast javax.net.ssl.X509ExtendedKeyManager
aload 8
21: invokespecial io.netty.handler.ssl.OpenSslExtendedKeyMaterialManager.<init>:(Ljavax/net/ssl/X509ExtendedKeyManager;Ljava/lang/String;)V
22: goto 24
23: StackMap locals: javax.net.ssl.X509KeyManager
StackMap stack:
new io.netty.handler.ssl.OpenSslKeyMaterialManager
dup
aload 10
aload 8
invokespecial io.netty.handler.ssl.OpenSslKeyMaterialManager.<init>:(Ljavax/net/ssl/X509KeyManager;Ljava/lang/String;)V
24: StackMap locals:
StackMap stack: io.netty.handler.ssl.OpenSslKeyMaterialManager
astore 11
start local 11 25: lload 1
new io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslCertificateRequestedCallback
dup
26: aload 3
aload 11
invokespecial io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslCertificateRequestedCallback.<init>:(Lio/netty/handler/ssl/OpenSslEngineMap;Lio/netty/handler/ssl/OpenSslKeyMaterialManager;)V
27: invokestatic io.netty.internal.tcnative.SSLContext.setCertRequestedCallback:(JLio/netty/internal/tcnative/CertificateRequestedCallback;)V
end local 11 end local 10 28: goto 31
StackMap locals: io.netty.handler.ssl.ReferenceCountedOpenSslContext long io.netty.handler.ssl.OpenSslEngineMap java.security.cert.X509Certificate[] javax.net.ssl.TrustManagerFactory java.security.cert.X509Certificate[] java.security.PrivateKey java.lang.String javax.net.ssl.KeyManagerFactory
StackMap stack: java.lang.Exception
29: astore 10
start local 10 30: new javax.net.ssl.SSLException
dup
ldc "failed to set certificate and key"
aload 10
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 31: StackMap locals:
StackMap stack:
lload 1
iconst_0
bipush 10
invokestatic io.netty.internal.tcnative.SSLContext.setVerify:(JII)V
32: aload 4
ifnull 35
33: aload 4
aload 5
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.buildTrustManagerFactory:([Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;)Ljavax/net/ssl/TrustManagerFactory;
astore 5
34: goto 39
StackMap locals:
StackMap stack:
35: aload 5
ifnonnull 39
36: invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
37: invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 5
38: aload 5
aconst_null
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
39: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.chooseTrustManager:([Ljavax/net/ssl/TrustManager;)Ljavax/net/ssl/X509TrustManager;
astore 10
start local 10 40: aload 10
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.useExtendedTrustManager:(Ljavax/net/ssl/X509TrustManager;)Z
ifeq 45
41: lload 1
42: new io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback
dup
aload 3
aload 10
checkcast javax.net.ssl.X509ExtendedTrustManager
invokespecial io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.<init>:(Lio/netty/handler/ssl/OpenSslEngineMap;Ljavax/net/ssl/X509ExtendedTrustManager;)V
43: invokestatic io.netty.internal.tcnative.SSLContext.setCertVerifyCallback:(JLio/netty/internal/tcnative/CertificateVerifier;)V
44: goto 49
45: StackMap locals: javax.net.ssl.X509TrustManager
StackMap stack:
lload 1
new io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$TrustManagerVerifyCallback
dup
aload 3
aload 10
invokespecial io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$TrustManagerVerifyCallback.<init>:(Lio/netty/handler/ssl/OpenSslEngineMap;Ljavax/net/ssl/X509TrustManager;)V
invokestatic io.netty.internal.tcnative.SSLContext.setCertVerifyCallback:(JLio/netty/internal/tcnative/CertificateVerifier;)V
end local 10 46: goto 49
StackMap locals: io.netty.handler.ssl.ReferenceCountedOpenSslContext long io.netty.handler.ssl.OpenSslEngineMap java.security.cert.X509Certificate[] javax.net.ssl.TrustManagerFactory java.security.cert.X509Certificate[] java.security.PrivateKey java.lang.String javax.net.ssl.KeyManagerFactory
StackMap stack: java.lang.Exception
47: astore 10
start local 10 48: new javax.net.ssl.SSLException
dup
ldc "unable to setup trustmanager"
aload 10
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 49: StackMap locals:
StackMap stack:
new io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslClientSessionContext
dup
aload 0
invokespecial io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslClientSessionContext.<init>:(Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;)V
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 thiz Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;
0 50 1 ctx J
0 50 3 engineMap Lio/netty/handler/ssl/OpenSslEngineMap;
0 50 4 trustCertCollection [Ljava/security/cert/X509Certificate;
0 50 5 trustManagerFactory Ljavax/net/ssl/TrustManagerFactory;
0 50 6 keyCertChain [Ljava/security/cert/X509Certificate;
0 50 7 key Ljava/security/PrivateKey;
0 50 8 keyPassword Ljava/lang/String;
0 50 9 keyManagerFactory Ljavax/net/ssl/KeyManagerFactory;
18 28 10 keyManager Ljavax/net/ssl/X509KeyManager;
25 28 11 materialManager Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
30 31 10 e Ljava/lang/Exception;
40 46 10 manager Ljavax/net/ssl/X509TrustManager;
48 49 10 e Ljava/lang/Exception;
Exception table:
from to target type
5 28 29 Class java.lang.Exception
32 46 47 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
thiz
ctx
engineMap
trustCertCollection
trustManagerFactory
keyCertChain
key
keyPassword
keyManagerFactory
public javax.net.ssl.SSLSessionContext sessionContext();
descriptor: ()Ljavax/net/ssl/SSLSessionContext;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.handler.ssl.ReferenceCountedOpenSslClientContext.sessionContext:()Lio/netty/handler/ssl/OpenSslSessionContext;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ReferenceCountedOpenSslClientContext.java"
NestMembers:
io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslCertificateRequestedCallback io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslClientSessionContext io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$TrustManagerVerifyCallback
InnerClasses:
private final ExtendedTrustManagerVerifyCallback = io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback of io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
private final OpenSslCertificateRequestedCallback = io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslCertificateRequestedCallback of io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
final OpenSslClientSessionContext = io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$OpenSslClientSessionContext of io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
private final TrustManagerVerifyCallback = io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$TrustManagerVerifyCallback of io.netty.handler.ssl.ReferenceCountedOpenSslClientContext