public class io.dropwizard.client.DropwizardSSLConnectionSocketFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.dropwizard.client.DropwizardSSLConnectionSocketFactory
super_class: java.lang.Object
{
private final io.dropwizard.client.ssl.TlsConfiguration configuration;
descriptor: Lio/dropwizard/client/ssl/TlsConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.net.ssl.HostnameVerifier verifier;
descriptor: Ljavax/net/ssl/HostnameVerifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
javax.annotation.Nullable()
public void <init>(io.dropwizard.client.ssl.TlsConfiguration);
descriptor: (Lio/dropwizard/client/ssl/TlsConfiguration;)V
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
invokespecial io.dropwizard.client.DropwizardSSLConnectionSocketFactory.<init>:(Lio/dropwizard/client/ssl/TlsConfiguration;Ljavax/net/ssl/HostnameVerifier;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
0 2 1 configuration Lio/dropwizard/client/ssl/TlsConfiguration;
MethodParameters:
Name Flags
configuration
public void <init>(io.dropwizard.client.ssl.TlsConfiguration, javax.net.ssl.HostnameVerifier);
descriptor: (Lio/dropwizard/client/ssl/TlsConfiguration;Ljavax/net/ssl/HostnameVerifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
2: aload 0
aload 2
putfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
0 4 1 configuration Lio/dropwizard/client/ssl/TlsConfiguration;
0 4 2 verifier Ljavax/net/ssl/HostnameVerifier;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
javax.annotation.Nullable()
MethodParameters:
Name Flags
configuration
verifier
public org.apache.http.conn.ssl.SSLConnectionSocketFactory getSocketFactory();
descriptor: ()Lorg/apache/http/conn/ssl/SSLConnectionSocketFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new org.apache.http.conn.ssl.SSLConnectionSocketFactory
dup
aload 0
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.buildSslContext:()Ljavax/net/ssl/SSLContext;
aload 0
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.getSupportedProtocols:()[Ljava/lang/String;
aload 0
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.getSupportedCiphers:()[Ljava/lang/String;
1: aload 0
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.chooseHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
2: invokespecial org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>:(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Ljavax/net/ssl/HostnameVerifier;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
Exceptions:
throws org.apache.http.conn.ssl.SSLInitializationException
private java.lang.String[] getSupportedCiphers();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getSupportedCiphers:()Ljava/util/List;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
1 4 1 supportedCiphers Ljava/util/List<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
javax.annotation.Nullable()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN, location=[ARRAY_ELEMENT]
javax.annotation.Nullable()
private java.lang.String[] getSupportedProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getSupportedProtocols:()Ljava/util/List;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
1 4 1 supportedProtocols Ljava/util/List<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
javax.annotation.Nullable()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN, location=[ARRAY_ELEMENT]
javax.annotation.Nullable()
private javax.net.ssl.HostnameVerifier chooseHostnameVerifier();
descriptor: ()Ljavax/net/ssl/HostnameVerifier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.isVerifyHostname:()Z
ifeq 4
1: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
ifnull 2
aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
goto 3
StackMap locals:
StackMap stack:
2: invokestatic org.apache.http.conn.ssl.SSLConnectionSocketFactory.getDefaultHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
StackMap locals:
StackMap stack: javax.net.ssl.HostnameVerifier
3: areturn
4: StackMap locals:
StackMap stack:
new org.apache.http.conn.ssl.NoopHostnameVerifier
dup
invokespecial org.apache.http.conn.ssl.NoopHostnameVerifier.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
private javax.net.ssl.SSLContext buildSslContext();
descriptor: ()Ljavax/net/ssl/SSLContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: new org.apache.http.ssl.SSLContextBuilder
dup
invokespecial org.apache.http.ssl.SSLContextBuilder.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getProtocol:()Ljava/lang/String;
invokevirtual org.apache.http.ssl.SSLContextBuilder.setProtocol:(Ljava/lang/String;)Lorg/apache/http/ssl/SSLContextBuilder;
pop
2: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getProvider:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 2
aload 3
invokevirtual org.apache.http.ssl.SSLContextBuilder.setProvider:(Ljava/lang/String;)Lorg/apache/http/ssl/SSLContextBuilder;
pop
5: StackMap locals: io.dropwizard.client.DropwizardSSLConnectionSocketFactory top org.apache.http.ssl.SSLContextBuilder java.lang.String
StackMap stack:
aload 0
aload 2
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyMaterial:(Lorg/apache/http/ssl/SSLContextBuilder;)V
6: aload 0
aload 2
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadTrustMaterial:(Lorg/apache/http/ssl/SSLContextBuilder;)V
7: aload 2
invokevirtual org.apache.http.ssl.SSLContextBuilder.build:()Ljavax/net/ssl/SSLContext;
astore 1
end local 3 end local 2 start local 1 8: goto 11
end local 1 StackMap locals: io.dropwizard.client.DropwizardSSLConnectionSocketFactory
StackMap stack: java.lang.Exception
9: astore 2
start local 2 10: new org.apache.http.conn.ssl.SSLInitializationException
dup
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 2
invokespecial org.apache.http.conn.ssl.SSLInitializationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 11: StackMap locals: javax.net.ssl.SSLContext
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
8 9 1 sslContext Ljavax/net/ssl/SSLContext;
11 12 1 sslContext Ljavax/net/ssl/SSLContext;
1 8 2 sslContextBuilder Lorg/apache/http/ssl/SSLContextBuilder;
3 8 3 configuredProvider Ljava/lang/String;
10 11 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 8 9 Class java.lang.Exception
Exceptions:
throws org.apache.http.conn.ssl.SSLInitializationException
private org.apache.http.ssl.PrivateKeyStrategy choosePrivateKeyStrategy();
descriptor: ()Lorg/apache/http/ssl/PrivateKeyStrategy;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getCertAlias:()Ljava/lang/String;
ifnull 3
2: aload 0
invokedynamic chooseAlias(Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;)Lorg/apache/http/ssl/PrivateKeyStrategy;
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/util/Map;Ljava/net/Socket;)Ljava/lang/String;
io/dropwizard/client/DropwizardSSLConnectionSocketFactory.lambda$0(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String; (7)
(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
astore 1
3: StackMap locals: org.apache.http.ssl.PrivateKeyStrategy
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
1 4 1 privateKeyStrategy Lorg/apache/http/ssl/PrivateKeyStrategy;
RuntimeVisibleAnnotations:
javax.annotation.Nullable()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
javax.annotation.Nullable()
private void loadKeyMaterial(org.apache.http.ssl.SSLContextBuilder);
descriptor: (Lorg/apache/http/ssl/SSLContextBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePath:()Ljava/io/File;
ifnull 7
1: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStoreType:()Ljava/lang/String;
aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePath:()Ljava/io/File;
2: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePassword:()Ljava/lang/String;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
3: invokestatic io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyStore:(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
astore 2
start local 2 4: aload 1
aload 2
5: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePassword:()Ljava/lang/String;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.toCharArray:()[C
aload 0
invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.choosePrivateKeyStrategy:()Lorg/apache/http/ssl/PrivateKeyStrategy;
6: invokevirtual org.apache.http.ssl.SSLContextBuilder.loadKeyMaterial:(Ljava/security/KeyStore;[CLorg/apache/http/ssl/PrivateKeyStrategy;)Lorg/apache/http/ssl/SSLContextBuilder;
pop
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
0 8 1 sslContextBuilder Lorg/apache/http/ssl/SSLContextBuilder;
4 7 2 keystore Ljava/security/KeyStore;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
sslContextBuilder
private void loadTrustMaterial(org.apache.http.ssl.SSLContextBuilder);
descriptor: (Lorg/apache/http/ssl/SSLContextBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePath:()Ljava/io/File;
ifnull 5
2: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStoreType:()Ljava/lang/String;
aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePath:()Ljava/io/File;
3: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePassword:()Ljava/lang/String;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
4: invokestatic io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyStore:(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
astore 2
5: StackMap locals: java.security.KeyStore
StackMap stack:
aconst_null
astore 3
start local 3 6: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.isTrustSelfSignedCertificates:()Z
ifeq 8
7: new org.apache.http.conn.ssl.TrustSelfSignedStrategy
dup
invokespecial org.apache.http.conn.ssl.TrustSelfSignedStrategy.<init>:()V
astore 3
8: StackMap locals: org.apache.http.ssl.TrustStrategy
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual org.apache.http.ssl.SSLContextBuilder.loadTrustMaterial:(Ljava/security/KeyStore;Lorg/apache/http/ssl/TrustStrategy;)Lorg/apache/http/ssl/SSLContextBuilder;
pop
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
0 10 1 sslContextBuilder Lorg/apache/http/ssl/SSLContextBuilder;
1 10 2 trustStore Ljava/security/KeyStore;
6 10 3 trustStrategy Lorg/apache/http/ssl/TrustStrategy;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
sslContextBuilder
private static java.security.KeyStore loadKeyStore(java.lang.String, java.io.File, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 3: aload 3
aload 6
aload 2
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
4: aload 6
ifnull 10
aload 6
invokevirtual java.io.InputStream.close:()V
goto 10
StackMap locals: java.lang.String java.io.File java.lang.String java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
5: astore 4
aload 6
ifnull 6
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
6: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 5
aload 4
ifnonnull 8
aload 5
astore 4
goto 9
StackMap locals:
StackMap stack:
8: aload 4
aload 5
if_acmpeq 9
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 4
athrow
10: 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 11 0 type Ljava/lang/String;
0 11 1 path Ljava/io/File;
0 11 2 password Ljava/lang/String;
1 11 3 keyStore Ljava/security/KeyStore;
3 6 6 inputStream Ljava/io/InputStream;
Exception table:
from to target type
3 4 5 any
2 7 7 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
type
path
password
private java.lang.String lambda$0(java.util.Map, java.net.Socket);
descriptor: (Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getCertAlias:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
0 1 1 aliases Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/ssl/PrivateKeyDetails;>;
0 1 2 socket Ljava/net/Socket;
}
SourceFile: "DropwizardSSLConnectionSocketFactory.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles