public class io.vertx.core.net.impl.SSLHelper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.net.impl.SSLHelper
super_class: java.lang.Object
{
private static final java.util.Map<io.vertx.core.http.HttpVersion, java.lang.String> PROTOCOL_NAME_MAPPING;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lio/vertx/core/http/HttpVersion;Ljava/lang/String;>;
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean ssl;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean sni;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long sslHandshakeTimeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.TimeUnit sslHandshakeTimeoutUnit;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.KeyCertOptions keyCertOptions;
descriptor: Lio/vertx/core/net/KeyCertOptions;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.TrustOptions trustOptions;
descriptor: Lio/vertx/core/net/TrustOptions;
flags: (0x0002) ACC_PRIVATE
private boolean trustAll;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<java.lang.String> crlPaths;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/lang/String;>;
private java.util.ArrayList<io.vertx.core.buffer.Buffer> crlValues;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lio/vertx/core/buffer/Buffer;>;
private io.vertx.core.http.ClientAuth clientAuth;
descriptor: Lio/vertx/core/http/ClientAuth;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.String> enabledCipherSuites;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private boolean openSsl;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean client;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean useAlpn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.List<io.vertx.core.http.HttpVersion> applicationProtocols;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lio/vertx/core/http/HttpVersion;>;
private java.util.Set<java.lang.String> enabledProtocols;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private java.lang.String endpointIdentificationAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.ssl.SslContext sslContext;
descriptor: Lio/netty/handler/ssl/SslContext;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.security.cert.Certificate, io.netty.handler.ssl.SslContext> sslContextMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/security/cert/Certificate;Lio/netty/handler/ssl/SslContext;>;
private boolean openSslSessionCacheEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$vertx$core$http$ClientAuth;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.EnumMap
dup
ldc Lio/vertx/core/http/HttpVersion;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic io.vertx.core.net.impl.SSLHelper.PROTOCOL_NAME_MAPPING:Ljava/util/Map;
1: getstatic io.vertx.core.net.impl.SSLHelper.PROTOCOL_NAME_MAPPING:Ljava/util/Map;
getstatic io.vertx.core.http.HttpVersion.HTTP_2:Lio/vertx/core/http/HttpVersion;
ldc "h2"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic io.vertx.core.net.impl.SSLHelper.PROTOCOL_NAME_MAPPING:Ljava/util/Map;
getstatic io.vertx.core.http.HttpVersion.HTTP_1_1:Lio/vertx/core/http/HttpVersion;
ldc "http/1.1"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic io.vertx.core.net.impl.SSLHelper.PROTOCOL_NAME_MAPPING:Ljava/util/Map;
getstatic io.vertx.core.http.HttpVersion.HTTP_1_0:Lio/vertx/core/http/HttpVersion;
ldc "http/1.0"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: ldc Lio/vertx/core/net/impl/SSLHelper;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.core.net.impl.SSLHelper.log:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public static io.vertx.core.net.SSLEngineOptions resolveEngineOptions(io.vertx.core.net.TCPSSLOptions);
descriptor: (Lio/vertx/core/net/TCPSSLOptions;)Lio/vertx/core/net/SSLEngineOptions;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.net.TCPSSLOptions.getSslEngineOptions:()Lio/vertx/core/net/SSLEngineOptions;
astore 1
start local 1 1: aload 1
ifnonnull 8
2: aload 0
invokevirtual io.vertx.core.net.TCPSSLOptions.isUseAlpn:()Z
ifeq 8
3: invokestatic io.vertx.core.net.JdkSSLEngineOptions.isAlpnAvailable:()Z
ifeq 6
4: new io.vertx.core.net.JdkSSLEngineOptions
dup
invokespecial io.vertx.core.net.JdkSSLEngineOptions.<init>:()V
astore 1
5: goto 8
StackMap locals: io.vertx.core.net.SSLEngineOptions
StackMap stack:
6: invokestatic io.vertx.core.net.OpenSSLEngineOptions.isAlpnAvailable:()Z
ifeq 8
7: new io.vertx.core.net.OpenSSLEngineOptions
dup
invokespecial io.vertx.core.net.OpenSSLEngineOptions.<init>:()V
astore 1
8: StackMap locals:
StackMap stack:
aload 1
ifnonnull 11
9: new io.vertx.core.net.JdkSSLEngineOptions
dup
invokespecial io.vertx.core.net.JdkSSLEngineOptions.<init>:()V
astore 1
10: goto 18
StackMap locals:
StackMap stack:
11: aload 1
instanceof io.vertx.core.net.OpenSSLEngineOptions
ifeq 18
12: invokestatic io.netty.handler.ssl.OpenSsl.isAvailable:()Z
ifne 18
13: new io.vertx.core.VertxException
dup
ldc "OpenSSL is not available"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 14: invokestatic io.netty.handler.ssl.OpenSsl.unavailabilityCause:()Ljava/lang/Throwable;
astore 3
start local 3 15: aload 3
ifnull 17
16: aload 2
aload 3
invokevirtual io.vertx.core.VertxException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
17: StackMap locals: io.vertx.core.VertxException java.lang.Throwable
StackMap stack:
aload 2
athrow
end local 3 end local 2 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.core.net.TCPSSLOptions.isUseAlpn:()Z
ifeq 25
19: aload 1
instanceof io.vertx.core.net.JdkSSLEngineOptions
ifeq 22
20: invokestatic io.vertx.core.net.JdkSSLEngineOptions.isAlpnAvailable:()Z
ifne 22
21: new io.vertx.core.VertxException
dup
ldc "ALPN not available for JDK SSL/TLS engine"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.core.net.OpenSSLEngineOptions
ifeq 25
23: invokestatic io.vertx.core.net.OpenSSLEngineOptions.isAlpnAvailable:()Z
ifne 25
24: new io.vertx.core.VertxException
dup
ldc "ALPN is not available for OpenSSL SSL/TLS engine"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 options Lio/vertx/core/net/TCPSSLOptions;
1 26 1 engineOptions Lio/vertx/core/net/SSLEngineOptions;
14 18 2 ex Lio/vertx/core/VertxException;
15 18 3 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
options
private void <init>(io.vertx.core.net.TCPSSLOptions, io.vertx.core.net.KeyCertOptions, io.vertx.core.net.TrustOptions);
descriptor: (Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic io.vertx.core.http.ClientAuth.NONE:Lio/vertx/core/http/ClientAuth;
putfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
2: aload 0
ldc ""
putfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.core.net.impl.SSLHelper.sslContextMap:Ljava/util/Map;
4: aload 0
iconst_1
putfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
5: aload 1
invokestatic io.vertx.core.net.impl.SSLHelper.resolveEngineOptions:(Lio/vertx/core/net/TCPSSLOptions;)Lio/vertx/core/net/SSLEngineOptions;
astore 4
start local 4 6: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.isSsl:()Z
putfield io.vertx.core.net.impl.SSLHelper.ssl:Z
7: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getSslHandshakeTimeout:()J
putfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeout:J
8: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getSslHandshakeTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
putfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeoutUnit:Ljava/util/concurrent/TimeUnit;
9: aload 0
aload 2
putfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
10: aload 0
aload 3
putfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
11: aload 0
new java.util.ArrayList
dup
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getCrlPaths:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
12: aload 0
new java.util.ArrayList
dup
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getCrlValues:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
13: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getEnabledCipherSuites:()Ljava/util/Set;
putfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
14: aload 0
aload 4
instanceof io.vertx.core.net.OpenSSLEngineOptions
putfield io.vertx.core.net.impl.SSLHelper.openSsl:Z
15: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.isUseAlpn:()Z
putfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
16: aload 0
aload 1
invokevirtual io.vertx.core.net.TCPSSLOptions.getEnabledSecureTransportProtocols:()Ljava/util/Set;
putfield io.vertx.core.net.impl.SSLHelper.enabledProtocols:Ljava/util/Set;
17: aload 0
aload 4
instanceof io.vertx.core.net.OpenSSLEngineOptions
ifeq 18
aload 4
checkcast io.vertx.core.net.OpenSSLEngineOptions
invokevirtual io.vertx.core.net.OpenSSLEngineOptions.isSessionCacheEnabled:()Z
ifeq 18
iconst_1
goto 19
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.net.TCPSSLOptions io.vertx.core.net.KeyCertOptions io.vertx.core.net.TrustOptions io.vertx.core.net.SSLEngineOptions
StackMap stack: io.vertx.core.net.impl.SSLHelper
18: iconst_0
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.net.TCPSSLOptions io.vertx.core.net.KeyCertOptions io.vertx.core.net.TrustOptions io.vertx.core.net.SSLEngineOptions
StackMap stack: io.vertx.core.net.impl.SSLHelper int
19: putfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/vertx/core/net/impl/SSLHelper;
0 21 1 options Lio/vertx/core/net/TCPSSLOptions;
0 21 2 keyCertOptions Lio/vertx/core/net/KeyCertOptions;
0 21 3 trustOptions Lio/vertx/core/net/TrustOptions;
6 21 4 sslEngineOptions Lio/vertx/core/net/SSLEngineOptions;
MethodParameters:
Name Flags
options
keyCertOptions
trustOptions
private void <init>(io.vertx.core.net.ClientOptionsBase, io.vertx.core.net.KeyCertOptions, io.vertx.core.net.TrustOptions);
descriptor: (Lio/vertx/core/net/ClientOptionsBase;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial io.vertx.core.net.impl.SSLHelper.<init>:(Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
1: aload 0
iconst_1
putfield io.vertx.core.net.impl.SSLHelper.client:Z
2: aload 0
aload 1
invokevirtual io.vertx.core.net.ClientOptionsBase.isTrustAll:()Z
putfield io.vertx.core.net.impl.SSLHelper.trustAll:Z
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/net/impl/SSLHelper;
0 4 1 options Lio/vertx/core/net/ClientOptionsBase;
0 4 2 keyCertOptions Lio/vertx/core/net/KeyCertOptions;
0 4 3 trustOptions Lio/vertx/core/net/TrustOptions;
MethodParameters:
Name Flags
options
keyCertOptions
trustOptions
public void <init>(io.vertx.core.http.HttpClientOptions, io.vertx.core.net.KeyCertOptions, io.vertx.core.net.TrustOptions);
descriptor: (Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial io.vertx.core.net.impl.SSLHelper.<init>:(Lio/vertx/core/net/ClientOptionsBase;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
1: aload 1
invokevirtual io.vertx.core.http.HttpClientOptions.isVerifyHost:()Z
ifeq 3
2: aload 0
ldc "HTTPS"
putfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
3: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.http.HttpClientOptions io.vertx.core.net.KeyCertOptions io.vertx.core.net.TrustOptions
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/net/impl/SSLHelper;
0 4 1 options Lio/vertx/core/http/HttpClientOptions;
0 4 2 keyCertOptions Lio/vertx/core/net/KeyCertOptions;
0 4 3 trustOptions Lio/vertx/core/net/TrustOptions;
MethodParameters:
Name Flags
options
keyCertOptions
trustOptions
public void <init>(io.vertx.core.net.NetClientOptions, io.vertx.core.net.KeyCertOptions, io.vertx.core.net.TrustOptions);
descriptor: (Lio/vertx/core/net/NetClientOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial io.vertx.core.net.impl.SSLHelper.<init>:(Lio/vertx/core/net/ClientOptionsBase;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
1: aload 0
aload 1
invokevirtual io.vertx.core.net.NetClientOptions.getHostnameVerificationAlgorithm:()Ljava/lang/String;
putfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 options Lio/vertx/core/net/NetClientOptions;
0 3 2 keyCertOptions Lio/vertx/core/net/KeyCertOptions;
0 3 3 trustOptions Lio/vertx/core/net/TrustOptions;
MethodParameters:
Name Flags
options
keyCertOptions
trustOptions
public void <init>(io.vertx.core.net.NetServerOptions, io.vertx.core.net.KeyCertOptions, io.vertx.core.net.TrustOptions);
descriptor: (Lio/vertx/core/net/NetServerOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial io.vertx.core.net.impl.SSLHelper.<init>:(Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
1: aload 0
aload 1
invokevirtual io.vertx.core.net.NetServerOptions.getClientAuth:()Lio/vertx/core/http/ClientAuth;
putfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
2: aload 0
iconst_0
putfield io.vertx.core.net.impl.SSLHelper.client:Z
3: aload 0
aload 1
invokevirtual io.vertx.core.net.NetServerOptions.isSni:()Z
putfield io.vertx.core.net.impl.SSLHelper.sni:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/net/impl/SSLHelper;
0 5 1 options Lio/vertx/core/net/NetServerOptions;
0 5 2 keyCertOptions Lio/vertx/core/net/KeyCertOptions;
0 5 3 trustOptions Lio/vertx/core/net/TrustOptions;
MethodParameters:
Name Flags
options
keyCertOptions
trustOptions
public void <init>(io.vertx.core.net.impl.SSLHelper);
descriptor: (Lio/vertx/core/net/impl/SSLHelper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic io.vertx.core.http.ClientAuth.NONE:Lio/vertx/core/http/ClientAuth;
putfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
2: aload 0
ldc ""
putfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.core.net.impl.SSLHelper.sslContextMap:Ljava/util/Map;
4: aload 0
iconst_1
putfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
5: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.ssl:Z
putfield io.vertx.core.net.impl.SSLHelper.ssl:Z
6: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.sni:Z
putfield io.vertx.core.net.impl.SSLHelper.sni:Z
7: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeout:J
putfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeout:J
8: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeoutUnit:Ljava/util/concurrent/TimeUnit;
putfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeoutUnit:Ljava/util/concurrent/TimeUnit;
9: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
putfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
10: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
putfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
11: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.trustAll:Z
putfield io.vertx.core.net.impl.SSLHelper.trustAll:Z
12: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
putfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
13: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
putfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
14: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
putfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
15: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
putfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
16: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.openSsl:Z
putfield io.vertx.core.net.impl.SSLHelper.openSsl:Z
17: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.client:Z
putfield io.vertx.core.net.impl.SSLHelper.client:Z
18: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
putfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
19: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
putfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
20: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.enabledProtocols:Ljava/util/Set;
putfield io.vertx.core.net.impl.SSLHelper.enabledProtocols:Ljava/util/Set;
21: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
putfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
22: aload 0
aload 1
getfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
putfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
23: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/vertx/core/net/impl/SSLHelper;
0 24 1 that Lio/vertx/core/net/impl/SSLHelper;
MethodParameters:
Name Flags
that
public boolean isUseAlpn();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public io.vertx.core.net.impl.SSLHelper setUseAlpn(boolean);
descriptor: (Z)Lio/vertx/core/net/impl/SSLHelper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/SSLHelper;
0 2 1 useAlpn Z
MethodParameters:
Name Flags
useAlpn
public boolean isSSL();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.ssl:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public boolean isSNI();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sni:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public long getSslHandshakeTimeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeout:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public java.util.concurrent.TimeUnit getSslHandshakeTimeoutUnit();
descriptor: ()Ljava/util/concurrent/TimeUnit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslHandshakeTimeoutUnit:Ljava/util/concurrent/TimeUnit;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public io.vertx.core.http.ClientAuth getClientAuth();
descriptor: ()Lio/vertx/core/http/ClientAuth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.clientAuth:Lio/vertx/core/http/ClientAuth;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
public java.util.List<io.vertx.core.http.HttpVersion> getApplicationProtocols();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
Signature: ()Ljava/util/List<Lio/vertx/core/http/HttpVersion;>;
public io.vertx.core.net.impl.SSLHelper setApplicationProtocols(java.util.List<io.vertx.core.http.HttpVersion>);
descriptor: (Ljava/util/List;)Lio/vertx/core/net/impl/SSLHelper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/SSLHelper;
0 2 1 applicationProtocols Ljava/util/List<Lio/vertx/core/http/HttpVersion;>;
Signature: (Ljava/util/List<Lio/vertx/core/http/HttpVersion;>;)Lio/vertx/core/net/impl/SSLHelper;
MethodParameters:
Name Flags
applicationProtocols
private io.netty.handler.ssl.SslContext createContext(io.vertx.core.impl.VertxInternal, javax.net.ssl.X509KeyManager, javax.net.ssl.TrustManagerFactory);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;)Lio/netty/handler/ssl/SslContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.client:Z
ifeq 6
1: invokestatic io.netty.handler.ssl.SslContextBuilder.forClient:()Lio/netty/handler/ssl/SslContextBuilder;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual io.vertx.core.net.impl.SSLHelper.getKeyMgrFactory:(Lio/vertx/core/impl/VertxInternal;)Ljavax/net/ssl/KeyManagerFactory;
astore 5
start local 5 3: aload 5
ifnull 13
4: aload 4
aload 5
invokevirtual io.netty.handler.ssl.SslContextBuilder.keyManager:(Ljavax/net/ssl/KeyManagerFactory;)Lio/netty/handler/ssl/SslContextBuilder;
pop
end local 5 5: goto 13
end local 4 6: StackMap locals:
StackMap stack:
aload 2
ifnull 9
7: aload 2
aconst_null
invokeinterface javax.net.ssl.X509KeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
aconst_null
aload 2
aconst_null
invokeinterface javax.net.ssl.X509KeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
invokestatic io.netty.handler.ssl.SslContextBuilder.forServer:(Ljava/security/PrivateKey;Ljava/lang/String;[Ljava/security/cert/X509Certificate;)Lio/netty/handler/ssl/SslContextBuilder;
astore 4
start local 4 8: goto 13
end local 4 9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.core.net.impl.SSLHelper.getKeyMgrFactory:(Lio/vertx/core/impl/VertxInternal;)Ljavax/net/ssl/KeyManagerFactory;
astore 5
start local 5 10: aload 5
ifnonnull 12
11: new io.vertx.core.VertxException
dup
ldc "Key/certificate is mandatory for SSL"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal javax.net.ssl.X509KeyManager javax.net.ssl.TrustManagerFactory top javax.net.ssl.KeyManagerFactory
StackMap stack:
aload 5
invokestatic io.netty.handler.ssl.SslContextBuilder.forServer:(Ljavax/net/ssl/KeyManagerFactory;)Lio/netty/handler/ssl/SslContextBuilder;
astore 4
end local 5 start local 4 13: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal javax.net.ssl.X509KeyManager javax.net.ssl.TrustManagerFactory io.netty.handler.ssl.SslContextBuilder
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
astore 5
start local 5 14: aload 0
getfield io.vertx.core.net.impl.SSLHelper.openSsl:Z
ifeq 19
15: aload 4
getstatic io.netty.handler.ssl.SslProvider.OPENSSL:Lio/netty/handler/ssl/SslProvider;
invokevirtual io.netty.handler.ssl.SslContextBuilder.sslProvider:(Lio/netty/handler/ssl/SslProvider;)Lio/netty/handler/ssl/SslContextBuilder;
pop
16: aload 5
ifnull 17
aload 5
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 22
17: StackMap locals: java.util.Collection
StackMap stack:
invokestatic io.netty.handler.ssl.OpenSsl.availableOpenSslCipherSuites:()Ljava/util/Set;
astore 5
18: goto 22
19: StackMap locals:
StackMap stack:
aload 4
getstatic io.netty.handler.ssl.SslProvider.JDK:Lio/netty/handler/ssl/SslProvider;
invokevirtual io.netty.handler.ssl.SslContextBuilder.sslProvider:(Lio/netty/handler/ssl/SslProvider;)Lio/netty/handler/ssl/SslContextBuilder;
pop
20: aload 5
ifnull 21
aload 5
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 22
21: StackMap locals:
StackMap stack:
invokestatic io.vertx.core.net.impl.DefaultJDKCipherSuite.get:()Ljava/util/List;
astore 5
22: StackMap locals:
StackMap stack:
aload 3
ifnull 24
23: aload 4
aload 3
invokevirtual io.netty.handler.ssl.SslContextBuilder.trustManager:(Ljavax/net/ssl/TrustManagerFactory;)Lio/netty/handler/ssl/SslContextBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 5
ifnull 26
aload 5
invokeinterface java.util.Collection.size:()I
ifle 26
25: aload 4
aload 5
invokevirtual io.netty.handler.ssl.SslContextBuilder.ciphers:(Ljava/lang/Iterable;)Lio/netty/handler/ssl/SslContextBuilder;
pop
26: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.useAlpn:Z
ifeq 33
aload 0
getfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
ifnull 33
aload 0
getfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 33
27: aload 4
new io.netty.handler.ssl.ApplicationProtocolConfig
dup
28: getstatic io.netty.handler.ssl.ApplicationProtocolConfig$Protocol.ALPN:Lio/netty/handler/ssl/ApplicationProtocolConfig$Protocol;
29: getstatic io.netty.handler.ssl.ApplicationProtocolConfig$SelectorFailureBehavior.NO_ADVERTISE:Lio/netty/handler/ssl/ApplicationProtocolConfig$SelectorFailureBehavior;
30: getstatic io.netty.handler.ssl.ApplicationProtocolConfig$SelectedListenerFailureBehavior.ACCEPT:Lio/netty/handler/ssl/ApplicationProtocolConfig$SelectedListenerFailureBehavior;
31: aload 0
getfield io.vertx.core.net.impl.SSLHelper.applicationProtocols:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
getstatic io.vertx.core.net.impl.SSLHelper.PROTOCOL_NAME_MAPPING:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map.get(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Lio/vertx/core/http/HttpVersion;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.Iterable
invokespecial io.netty.handler.ssl.ApplicationProtocolConfig.<init>:(Lio/netty/handler/ssl/ApplicationProtocolConfig$Protocol;Lio/netty/handler/ssl/ApplicationProtocolConfig$SelectorFailureBehavior;Lio/netty/handler/ssl/ApplicationProtocolConfig$SelectedListenerFailureBehavior;Ljava/lang/Iterable;)V
32: invokevirtual io.netty.handler.ssl.SslContextBuilder.applicationProtocolConfig:(Lio/netty/handler/ssl/ApplicationProtocolConfig;)Lio/netty/handler/ssl/SslContextBuilder;
pop
33: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.handler.ssl.SslContextBuilder.build:()Lio/netty/handler/ssl/SslContext;
astore 7
start local 7 34: aload 7
instanceof io.netty.handler.ssl.OpenSslServerContext
ifeq 38
35: aload 7
invokevirtual io.netty.handler.ssl.SslContext.sessionContext:()Ljavax/net/ssl/SSLSessionContext;
astore 8
start local 8 36: aload 8
instanceof io.netty.handler.ssl.OpenSslServerSessionContext
ifeq 38
37: aload 8
checkcast io.netty.handler.ssl.OpenSslServerSessionContext
aload 0
getfield io.vertx.core.net.impl.SSLHelper.openSslSessionCacheEnabled:Z
invokevirtual io.netty.handler.ssl.OpenSslServerSessionContext.setSessionCacheEnabled:(Z)V
end local 8 38: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal javax.net.ssl.X509KeyManager javax.net.ssl.TrustManagerFactory io.netty.handler.ssl.SslContextBuilder java.util.Collection top io.netty.handler.ssl.SslContext
StackMap stack:
aload 7
39: areturn
end local 7 end local 5 end local 4 40: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal javax.net.ssl.X509KeyManager javax.net.ssl.TrustManagerFactory
StackMap stack: java.lang.Exception
astore 4
start local 4 41: new io.vertx.core.VertxException
dup
aload 4
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lio/vertx/core/net/impl/SSLHelper;
0 42 1 vertx Lio/vertx/core/impl/VertxInternal;
0 42 2 mgr Ljavax/net/ssl/X509KeyManager;
0 42 3 trustMgrFactory Ljavax/net/ssl/TrustManagerFactory;
2 6 4 builder Lio/netty/handler/ssl/SslContextBuilder;
8 9 4 builder Lio/netty/handler/ssl/SslContextBuilder;
13 40 4 builder Lio/netty/handler/ssl/SslContextBuilder;
3 5 5 keyMgrFactory Ljavax/net/ssl/KeyManagerFactory;
10 13 5 keyMgrFactory Ljavax/net/ssl/KeyManagerFactory;
14 40 5 cipherSuites Ljava/util/Collection<Ljava/lang/String;>;
34 40 7 ctx Lio/netty/handler/ssl/SslContext;
36 38 8 sslSessionContext Ljavax/net/ssl/SSLSessionContext;
41 42 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 39 40 Class java.lang.Exception
MethodParameters:
Name Flags
vertx
mgr
trustMgrFactory
private javax.net.ssl.KeyManagerFactory getKeyMgrFactory(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)Ljavax/net/ssl/KeyManagerFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
aload 1
invokeinterface io.vertx.core.net.KeyCertOptions.getKeyManagerFactory:(Lio/vertx/core/Vertx;)Ljavax/net/ssl/KeyManagerFactory;
StackMap locals:
StackMap stack: javax.net.ssl.KeyManagerFactory
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 vertx Lio/vertx/core/impl/VertxInternal;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
vertx
private javax.net.ssl.TrustManagerFactory getTrustMgrFactory(io.vertx.core.impl.VertxInternal, java.lang.String);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield io.vertx.core.net.impl.SSLHelper.trustAll:Z
ifeq 4
2: iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
invokestatic io.vertx.core.net.impl.SSLHelper.createTrustAllTrustManager:()Ljavax/net/ssl/TrustManager;
aastore
astore 3
3: goto 17
StackMap locals: javax.net.ssl.TrustManager[]
StackMap stack:
4: aload 0
getfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
ifnull 17
5: aload 2
ifnull 14
6: aload 0
getfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
aload 1
invokeinterface io.vertx.core.net.TrustOptions.trustManagerMapper:(Lio/vertx/core/Vertx;)Ljava/util/function/Function;
astore 4
start local 4 7: aload 4
ifnull 9
8: aload 4
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.net.ssl.TrustManager[]
astore 3
9: StackMap locals: java.util.function.Function
StackMap stack:
aload 3
ifnonnull 17
10: aload 0
getfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
aload 1
invokeinterface io.vertx.core.net.TrustOptions.getTrustManagerFactory:(Lio/vertx/core/Vertx;)Ljavax/net/ssl/TrustManagerFactory;
astore 5
start local 5 11: aload 5
ifnull 17
12: aload 5
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 3
end local 5 end local 4 13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.trustOptions:Lio/vertx/core/net/TrustOptions;
aload 1
invokeinterface io.vertx.core.net.TrustOptions.getTrustManagerFactory:(Lio/vertx/core/Vertx;)Ljavax/net/ssl/TrustManagerFactory;
astore 4
start local 4 15: aload 4
ifnull 17
16: aload 4
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 3
end local 4 17: StackMap locals:
StackMap stack:
aload 3
ifnonnull 19
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
ifnull 33
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
ifnull 33
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifgt 20
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 33
20: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlPaths:Ljava/util/ArrayList;
21: invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
22: aload 1
invokedynamic apply(Lio/vertx/core/impl/VertxInternal;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/net/impl/SSLHelper.lambda$1(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
23: aload 1
invokeinterface io.vertx.core.impl.VertxInternal.fileSystem:()Lio/vertx/core/file/FileSystem;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Lio/vertx/core/file/FileSystem;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/file/FileSystem.readFileBlocking(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer; (9 itf)
(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
24: astore 4
start local 4 25: aload 4
aload 0
getfield io.vertx.core.net.impl.SSLHelper.crlValues:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
astore 4
26: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 6
start local 6 27: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 28: aload 4
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 31
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal java.lang.String javax.net.ssl.TrustManager[] java.util.stream.Stream top java.security.cert.CertificateFactory java.util.ArrayList top java.util.Iterator
StackMap stack:
29: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.buffer.Buffer
astore 8
start local 8 30: aload 7
aload 6
new java.io.ByteArrayInputStream
dup
aload 8
invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
end local 8 31: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
32: aload 3
aload 7
invokestatic io.vertx.core.net.impl.SSLHelper.createUntrustRevokedCertTrustManager:([Ljavax/net/ssl/TrustManager;Ljava/util/ArrayList;)[Ljavax/net/ssl/TrustManager;
astore 3
end local 7 end local 6 end local 4 33: StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal java.lang.String javax.net.ssl.TrustManager[]
StackMap stack:
new io.vertx.core.net.impl.VertxTrustManagerFactory
dup
aload 3
invokespecial io.vertx.core.net.impl.VertxTrustManagerFactory.<init>:([Ljavax/net/ssl/TrustManager;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lio/vertx/core/net/impl/SSLHelper;
0 34 1 vertx Lio/vertx/core/impl/VertxInternal;
0 34 2 serverName Ljava/lang/String;
1 34 3 mgrs [Ljavax/net/ssl/TrustManager;
7 13 4 mapper Ljava/util/function/Function<Ljava/lang/String;[Ljavax/net/ssl/TrustManager;>;
11 13 5 fact Ljavax/net/ssl/TrustManagerFactory;
15 17 4 fact Ljavax/net/ssl/TrustManagerFactory;
25 33 4 tmp Ljava/util/stream/Stream<Lio/vertx/core/buffer/Buffer;>;
27 33 6 certificatefactory Ljava/security/cert/CertificateFactory;
28 33 7 crls Ljava/util/ArrayList<Ljava/security/cert/CRL;>;
30 31 8 crlValue Lio/vertx/core/buffer/Buffer;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
vertx
serverName
private static javax.net.ssl.TrustManager[] createUntrustRevokedCertTrustManager(javax.net.ssl.TrustManager[], java.util.ArrayList<java.security.cert.CRL>);
descriptor: ([Ljavax/net/ssl/TrustManager;Ljava/util/ArrayList;)[Ljavax/net/ssl/TrustManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javax.net.ssl.TrustManager[].clone:()Ljava/lang/Object;
checkcast javax.net.ssl.TrustManager[]
astore 0
1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 4: aload 3
instanceof javax.net.ssl.X509TrustManager
ifeq 7
5: aload 3
checkcast javax.net.ssl.X509TrustManager
astore 4
start local 4 6: aload 0
iload 2
new io.vertx.core.net.impl.SSLHelper$1
dup
aload 4
aload 1
invokespecial io.vertx.core.net.impl.SSLHelper$1.<init>:(Ljavax/net/ssl/X509TrustManager;Ljava/util/ArrayList;)V
aastore
end local 4 end local 3 7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 9: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 trustMgrs [Ljavax/net/ssl/TrustManager;
0 10 1 crls Ljava/util/ArrayList<Ljava/security/cert/CRL;>;
2 9 2 i I
4 7 3 trustMgr Ljavax/net/ssl/TrustManager;
6 7 4 x509TrustManager Ljavax/net/ssl/X509TrustManager;
Signature: ([Ljavax/net/ssl/TrustManager;Ljava/util/ArrayList<Ljava/security/cert/CRL;>;)[Ljavax/net/ssl/TrustManager;
MethodParameters:
Name Flags
trustMgrs
crls
private static javax.net.ssl.TrustManager createTrustAllTrustManager();
descriptor: ()Ljavax/net/ssl/TrustManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.vertx.core.net.impl.SSLHelper$2
dup
invokespecial io.vertx.core.net.impl.SSLHelper$2.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.util.Mapping<? super java.lang.String, ? extends io.netty.handler.ssl.SslContext> serverNameMapper(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)Lio/netty/util/Mapping;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic map(Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/impl/VertxInternal;)Lio/netty/util/Mapping;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/net/impl/SSLHelper.lambda$3(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext; (7)
(Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
0 1 1 vertx Lio/vertx/core/impl/VertxInternal;
Signature: (Lio/vertx/core/impl/VertxInternal;)Lio/netty/util/Mapping<-Ljava/lang/String;+Lio/netty/handler/ssl/SslContext;>;
MethodParameters:
Name Flags
vertx
public void configureEngine(javax.net.ssl.SSLEngine, java.lang.String);
descriptor: (Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
ifnull 3
aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 3
1: aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledCipherSuites:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 3
start local 3 2: aload 1
aload 3
invokevirtual javax.net.ssl.SSLEngine.setEnabledCipherSuites:([Ljava/lang/String;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield io.vertx.core.net.impl.SSLHelper.client:Z
invokevirtual javax.net.ssl.SSLEngine.setUseClientMode:(Z)V
4: new java.util.LinkedHashSet
dup
aload 0
getfield io.vertx.core.net.impl.SSLHelper.enabledProtocols:Ljava/util/Set;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 5: aload 3
aload 1
invokevirtual javax.net.ssl.SSLEngine.getSupportedProtocols:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
pop
6: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 8
7: getstatic io.vertx.core.net.impl.SSLHelper.log:Lio/vertx/core/impl/logging/Logger;
ldc "no SSL/TLS protocols are enabled due to configuration restrictions"
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
8: StackMap locals: java.util.Set
StackMap stack:
aload 1
aload 3
aload 3
invokeinterface java.util.Set.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokevirtual javax.net.ssl.SSLEngine.setEnabledProtocols:([Ljava/lang/String;)V
9: aload 0
getfield io.vertx.core.net.impl.SSLHelper.client:Z
ifne 17
10: invokestatic io.vertx.core.net.impl.SSLHelper.$SWITCH_TABLE$io$vertx$core$http$ClientAuth:()[I
aload 0
invokevirtual io.vertx.core.net.impl.SSLHelper.getClientAuth:()Lio/vertx/core/http/ClientAuth;
invokevirtual io.vertx.core.http.ClientAuth.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 15
2: 11
3: 13
default: 16
}
11: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
12: goto 21
13: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
14: goto 21
15: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
16: StackMap locals:
StackMap stack:
goto 21
StackMap locals:
StackMap stack:
17: aload 0
getfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 21
18: aload 1
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 4
start local 4 19: aload 4
aload 0
getfield io.vertx.core.net.impl.SSLHelper.endpointIdentificationAlgorithm:Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
20: aload 1
aload 4
invokevirtual javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
end local 4 21: StackMap locals:
StackMap stack:
aload 2
ifnull 25
22: aload 1
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 4
start local 4 23: aload 4
new javax.net.ssl.SNIHostName
dup
aload 2
invokespecial javax.net.ssl.SNIHostName.<init>:(Ljava/lang/String;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual javax.net.ssl.SSLParameters.setServerNames:(Ljava/util/List;)V
24: aload 1
aload 4
invokevirtual javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
end local 4 25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/vertx/core/net/impl/SSLHelper;
0 26 1 engine Ljavax/net/ssl/SSLEngine;
0 26 2 serverName Ljava/lang/String;
2 3 3 toUse [Ljava/lang/String;
5 26 3 protocols Ljava/util/Set<Ljava/lang/String;>;
19 21 4 sslParameters Ljavax/net/ssl/SSLParameters;
23 25 4 sslParameters Ljavax/net/ssl/SSLParameters;
MethodParameters:
Name Flags
engine
serverName
public io.netty.handler.ssl.SslContext getContext(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)Lio/netty/handler/ssl/SslContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
0 1 1 vertx Lio/vertx/core/impl/VertxInternal;
MethodParameters:
Name Flags
vertx
public io.netty.handler.ssl.SslContext getContext(io.vertx.core.impl.VertxInternal, java.lang.String);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 9
1: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslContext:Lio/netty/handler/ssl/SslContext;
ifnonnull 8
2: aconst_null
astore 3
start local 3 3: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getTrustMgrFactory:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 3
4: goto 7
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal java.lang.String javax.net.ssl.TrustManagerFactory
StackMap stack: java.lang.Exception
5: astore 4
start local 4 6: new io.vertx.core.VertxException
dup
aload 4
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
aconst_null
aload 3
invokevirtual io.vertx.core.net.impl.SSLHelper.createContext:(Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;)Lio/netty/handler/ssl/SslContext;
putfield io.vertx.core.net.impl.SSLHelper.sslContext:Lio/netty/handler/ssl/SslContext;
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslContext:Lio/netty/handler/ssl/SslContext;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.SSLHelper.keyCertOptions:Lio/vertx/core/net/KeyCertOptions;
aload 1
invokeinterface io.vertx.core.net.KeyCertOptions.keyManagerMapper:(Lio/vertx/core/Vertx;)Ljava/util/function/Function;
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.net.ssl.X509KeyManager
astore 3
start local 3 10: goto 13
end local 3 StackMap locals:
StackMap stack: java.lang.Exception
11: astore 4
start local 4 12: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 13: StackMap locals: javax.net.ssl.X509KeyManager
StackMap stack:
aload 3
ifnonnull 15
14: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslContext:Lio/netty/handler/ssl/SslContext;
areturn
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.vertx.core.net.impl.SSLHelper.getTrustMgrFactory:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 4
start local 4 16: aload 0
getfield io.vertx.core.net.impl.SSLHelper.sslContextMap:Ljava/util/Map;
aload 3
aconst_null
invokeinterface javax.net.ssl.X509KeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
iconst_0
aaload
aload 0
aload 1
aload 3
aload 4
invokedynamic apply(Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/net/impl/SSLHelper.lambda$4(Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;Ljava/security/cert/Certificate;)Lio/netty/handler/ssl/SslContext; (7)
(Ljava/security/cert/Certificate;)Lio/netty/handler/ssl/SslContext;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast io.netty.handler.ssl.SslContext
17: areturn
end local 4 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 19: new io.vertx.core.VertxException
dup
aload 4
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/core/net/impl/SSLHelper;
0 20 1 vertx Lio/vertx/core/impl/VertxInternal;
0 20 2 serverName Ljava/lang/String;
3 8 3 trustMgrFactory Ljavax/net/ssl/TrustManagerFactory;
6 7 4 e Ljava/lang/Exception;
10 11 3 mgr Ljavax/net/ssl/X509KeyManager;
13 20 3 mgr Ljavax/net/ssl/X509KeyManager;
12 13 4 e Ljava/lang/Exception;
16 18 4 trustMgrFactory Ljavax/net/ssl/TrustManagerFactory;
19 20 4 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
9 10 11 Class java.lang.Exception
15 17 18 Class java.lang.Exception
MethodParameters:
Name Flags
vertx
serverName
public synchronized void validate(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.net.impl.SSLHelper.ssl:Z
ifeq 2
1: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 vertx Lio/vertx/core/impl/VertxInternal;
MethodParameters:
Name Flags
vertx
public javax.net.ssl.SSLEngine createEngine(io.netty.handler.ssl.SslContext);
descriptor: (Lio/netty/handler/ssl/SslContext;)Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;)Ljavax/net/ssl/SSLEngine;
astore 2
start local 2 1: aload 0
aload 2
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.configureEngine:(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 sslContext Lio/netty/handler/ssl/SslContext;
1 3 2 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
sslContext
public javax.net.ssl.SSLEngine createEngine(io.vertx.core.impl.VertxInternal, io.vertx.core.net.SocketAddress, java.lang.String);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/SocketAddress;Ljava/lang/String;)Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
astore 4
start local 4 1: aload 2
invokeinterface io.vertx.core.net.SocketAddress.isDomainSocket:()Z
ifeq 4
2: aload 4
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;)Ljavax/net/ssl/SSLEngine;
astore 5
start local 5 3: goto 5
end local 5 4: StackMap locals: io.netty.handler.ssl.SslContext
StackMap stack:
aload 4
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
aload 2
invokeinterface io.vertx.core.net.SocketAddress.host:()Ljava/lang/String;
aload 2
invokeinterface io.vertx.core.net.SocketAddress.port:()I
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
astore 5
start local 5 5: StackMap locals: javax.net.ssl.SSLEngine
StackMap stack:
aload 0
aload 5
aload 3
invokevirtual io.vertx.core.net.impl.SSLHelper.configureEngine:(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
6: aload 5
areturn
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 7 0 this Lio/vertx/core/net/impl/SSLHelper;
0 7 1 vertx Lio/vertx/core/impl/VertxInternal;
0 7 2 socketAddress Lio/vertx/core/net/SocketAddress;
0 7 3 serverName Ljava/lang/String;
1 7 4 context Lio/netty/handler/ssl/SslContext;
3 4 5 engine Ljavax/net/ssl/SSLEngine;
5 7 5 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
vertx
socketAddress
serverName
public javax.net.ssl.SSLEngine createEngine(io.vertx.core.impl.VertxInternal, java.lang.String, int, boolean);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;IZ)Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
aload 2
iload 3
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
astore 5
start local 5 1: aload 0
aload 5
iload 4
ifeq 2
aload 2
goto 3
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal java.lang.String int int javax.net.ssl.SSLEngine
StackMap stack: io.vertx.core.net.impl.SSLHelper javax.net.ssl.SSLEngine
2: aconst_null
StackMap locals: io.vertx.core.net.impl.SSLHelper io.vertx.core.impl.VertxInternal java.lang.String int int javax.net.ssl.SSLEngine
StackMap stack: io.vertx.core.net.impl.SSLHelper javax.net.ssl.SSLEngine java.lang.String
3: invokevirtual io.vertx.core.net.impl.SSLHelper.configureEngine:(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
4: aload 5
areturn
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 5 0 this Lio/vertx/core/net/impl/SSLHelper;
0 5 1 vertx Lio/vertx/core/impl/VertxInternal;
0 5 2 host Ljava/lang/String;
0 5 3 port I
0 5 4 forceSNI Z
1 5 5 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
vertx
host
port
forceSNI
public javax.net.ssl.SSLEngine createEngine(io.vertx.core.impl.VertxInternal, java.lang.String, int);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
aload 2
iload 3
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
astore 4
start local 4 1: aload 0
aload 4
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.configureEngine:(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 vertx Lio/vertx/core/impl/VertxInternal;
0 3 2 host Ljava/lang/String;
0 3 3 port I
1 3 4 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
vertx
host
port
public javax.net.ssl.SSLEngine createEngine(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
invokevirtual io.netty.handler.ssl.SslContext.newEngine:(Lio/netty/buffer/ByteBufAllocator;)Ljavax/net/ssl/SSLEngine;
astore 2
start local 2 1: aload 0
aload 2
aconst_null
invokevirtual io.vertx.core.net.impl.SSLHelper.configureEngine:(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/SSLHelper;
0 3 1 vertx Lio/vertx/core/impl/VertxInternal;
1 3 2 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
vertx
static int[] $SWITCH_TABLE$io$vertx$core$http$ClientAuth();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.core.net.impl.SSLHelper.$SWITCH_TABLE$io$vertx$core$http$ClientAuth:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.vertx.core.http.ClientAuth.values:()[Lio/vertx/core/http/ClientAuth;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.vertx.core.http.ClientAuth.NONE:Lio/vertx/core/http/ClientAuth;
invokevirtual io.vertx.core.http.ClientAuth.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.vertx.core.http.ClientAuth.REQUEST:Lio/vertx/core/http/ClientAuth;
invokevirtual io.vertx.core.http.ClientAuth.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.vertx.core.http.ClientAuth.REQUIRED:Lio/vertx/core/http/ClientAuth;
invokevirtual io.vertx.core.http.ClientAuth.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic io.vertx.core.net.impl.SSLHelper.$SWITCH_TABLE$io$vertx$core$http$ClientAuth:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
private static java.lang.String lambda$1(io.vertx.core.impl.VertxInternal, java.lang.String);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface io.vertx.core.impl.VertxInternal.resolveFile:(Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 path Ljava/lang/String;
private io.netty.handler.ssl.SslContext lambda$3(io.vertx.core.impl.VertxInternal, java.lang.String);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
aload 2
invokevirtual io.vertx.core.net.impl.SSLHelper.getContext:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;)Lio/netty/handler/ssl/SslContext;
astore 3
start local 3 1: aload 3
ifnull 3
2: new io.vertx.core.net.impl.SSLHelper$3
dup
aload 0
aload 3
aload 2
invokespecial io.vertx.core.net.impl.SSLHelper$3.<init>:(Lio/vertx/core/net/impl/SSLHelper;Lio/netty/handler/ssl/SslContext;Ljava/lang/String;)V
astore 3
3: StackMap locals: io.netty.handler.ssl.SslContext
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/net/impl/SSLHelper;
0 4 2 serverName Ljava/lang/String;
1 4 3 ctx Lio/netty/handler/ssl/SslContext;
private io.netty.handler.ssl.SslContext lambda$4(io.vertx.core.impl.VertxInternal, javax.net.ssl.X509KeyManager, javax.net.ssl.TrustManagerFactory, java.security.cert.Certificate);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;Ljava/security/cert/Certificate;)Lio/netty/handler/ssl/SslContext;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.core.net.impl.SSLHelper.createContext:(Lio/vertx/core/impl/VertxInternal;Ljavax/net/ssl/X509KeyManager;Ljavax/net/ssl/TrustManagerFactory;)Lio/netty/handler/ssl/SslContext;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/SSLHelper;
0 1 4 s Ljava/security/cert/Certificate;
}
SourceFile: "SSLHelper.java"
NestMembers:
io.vertx.core.net.impl.SSLHelper$1 io.vertx.core.net.impl.SSLHelper$2 io.vertx.core.net.impl.SSLHelper$3
InnerClasses:
public final Protocol = io.netty.handler.ssl.ApplicationProtocolConfig$Protocol of io.netty.handler.ssl.ApplicationProtocolConfig
public final SelectedListenerFailureBehavior = io.netty.handler.ssl.ApplicationProtocolConfig$SelectedListenerFailureBehavior of io.netty.handler.ssl.ApplicationProtocolConfig
public final SelectorFailureBehavior = io.netty.handler.ssl.ApplicationProtocolConfig$SelectorFailureBehavior of io.netty.handler.ssl.ApplicationProtocolConfig
io.vertx.core.net.impl.SSLHelper$1
io.vertx.core.net.impl.SSLHelper$2
io.vertx.core.net.impl.SSLHelper$3
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles