public class org.postgresql.ssl.MakeSSL extends org.postgresql.util.ObjectFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.ssl.MakeSSL
super_class: org.postgresql.util.ObjectFactory
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/postgresql/ssl/MakeSSL;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic org.postgresql.ssl.MakeSSL.LOGGER:Ljava/util/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.postgresql.util.ObjectFactory.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/ssl/MakeSSL;
public static void convert(org.postgresql.core.PGStream, java.util.Properties);
descriptor: (Lorg/postgresql/core/PGStream;Ljava/util/Properties;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: getstatic org.postgresql.ssl.MakeSSL.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "converting regular socket connection to ssl"
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
1: aload 1
invokestatic org.postgresql.core.SocketFactoryFactory.getSslSocketFactory:(Ljava/util/Properties;)Ljavax/net/ssl/SSLSocketFactory;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual org.postgresql.core.PGStream.getSocket:()Ljava/net/Socket;
3: aload 0
invokevirtual org.postgresql.core.PGStream.getHostSpec:()Lorg/postgresql/util/HostSpec;
invokevirtual org.postgresql.util.HostSpec.getHost:()Ljava/lang/String;
aload 0
invokevirtual org.postgresql.core.PGStream.getHostSpec:()Lorg/postgresql/util/HostSpec;
invokevirtual org.postgresql.util.HostSpec.getPort:()I
iconst_1
4: invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
astore 3
start local 3 5: aload 3
iconst_1
invokevirtual javax.net.ssl.SSLSocket.setUseClientMode:(Z)V
6: aload 3
invokevirtual javax.net.ssl.SSLSocket.startHandshake:()V
7: goto 12
end local 3 StackMap locals: org.postgresql.core.PGStream java.util.Properties javax.net.ssl.SSLSocketFactory
StackMap stack: java.io.IOException
8: astore 4
start local 4 9: new org.postgresql.util.PSQLException
dup
ldc "SSL error: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
10: getstatic org.postgresql.util.PSQLState.CONNECTION_FAILURE:Lorg/postgresql/util/PSQLState;
aload 4
11: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 12: StackMap locals: javax.net.ssl.SSLSocket
StackMap stack:
aload 2
instanceof org.postgresql.ssl.LibPQFactory
ifeq 14
13: aload 2
checkcast org.postgresql.ssl.LibPQFactory
invokevirtual org.postgresql.ssl.LibPQFactory.throwKeyManagerException:()V
14: StackMap locals:
StackMap stack:
aload 1
invokestatic org.postgresql.jdbc.SslMode.of:(Ljava/util/Properties;)Lorg/postgresql/jdbc/SslMode;
astore 4
start local 4 15: aload 4
invokevirtual org.postgresql.jdbc.SslMode.verifyPeerName:()Z
ifeq 17
16: aload 0
aload 1
aload 3
invokestatic org.postgresql.ssl.MakeSSL.verifyPeerName:(Lorg/postgresql/core/PGStream;Ljava/util/Properties;Ljavax/net/ssl/SSLSocket;)V
17: StackMap locals: org.postgresql.jdbc.SslMode
StackMap stack:
aload 0
aload 3
invokevirtual org.postgresql.core.PGStream.changeSocket:(Ljava/net/Socket;)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 stream Lorg/postgresql/core/PGStream;
0 19 1 info Ljava/util/Properties;
2 19 2 factory Ljavax/net/ssl/SSLSocketFactory;
5 8 3 newConnection Ljavax/net/ssl/SSLSocket;
12 19 3 newConnection Ljavax/net/ssl/SSLSocket;
9 12 4 ex Ljava/io/IOException;
15 19 4 sslMode Lorg/postgresql/jdbc/SslMode;
Exception table:
from to target type
2 7 8 Class java.io.IOException
Exceptions:
throws org.postgresql.util.PSQLException, java.io.IOException
MethodParameters:
Name Flags
stream
info
private static void verifyPeerName(org.postgresql.core.PGStream, java.util.Properties, javax.net.ssl.SSLSocket);
descriptor: (Lorg/postgresql/core/PGStream;Ljava/util/Properties;Ljavax/net/ssl/SSLSocket;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.postgresql.PGProperty.SSL_HOSTNAME_VERIFIER:Lorg/postgresql/PGProperty;
aload 1
invokevirtual org.postgresql.PGProperty.get:(Ljava/util/Properties;)Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnonnull 5
2: getstatic org.postgresql.ssl.PGjdbcHostnameVerifier.INSTANCE:Lorg/postgresql/ssl/PGjdbcHostnameVerifier;
astore 3
start local 3 3: ldc "PgjdbcHostnameVerifier"
astore 4
4: goto 14
end local 3 5: StackMap locals: org.postgresql.core.PGStream java.util.Properties javax.net.ssl.SSLSocket top java.lang.String
StackMap stack:
aload 4
aload 1
iconst_0
aconst_null
invokestatic org.postgresql.ssl.MakeSSL.instantiate:(Ljava/lang/String;Ljava/util/Properties;ZLjava/lang/String;)Ljava/lang/Object;
checkcast javax.net.ssl.HostnameVerifier
astore 3
start local 3 6: goto 14
end local 3 StackMap locals:
StackMap stack: java.lang.Exception
7: astore 5
start local 5 8: new org.postgresql.util.PSQLException
dup
9: ldc "The HostnameVerifier class provided {0} could not be instantiated."
iconst_1
anewarray java.lang.Object
dup
iconst_0
10: aload 4
aastore
11: invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
12: getstatic org.postgresql.util.PSQLState.CONNECTION_FAILURE:Lorg/postgresql/util/PSQLState;
aload 5
13: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
end local 5 start local 3 14: StackMap locals: org.postgresql.core.PGStream java.util.Properties javax.net.ssl.SSLSocket javax.net.ssl.HostnameVerifier java.lang.String
StackMap stack:
aload 3
aload 0
invokevirtual org.postgresql.core.PGStream.getHostSpec:()Lorg/postgresql/util/HostSpec;
invokevirtual org.postgresql.util.HostSpec.getHost:()Ljava/lang/String;
aload 2
invokevirtual javax.net.ssl.SSLSocket.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.HostnameVerifier.verify:(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
ifeq 16
15: return
16: StackMap locals:
StackMap stack:
new org.postgresql.util.PSQLException
dup
17: ldc "The hostname {0} could not be verified by hostnameverifier {1}."
iconst_2
anewarray java.lang.Object
dup
iconst_0
18: aload 0
invokevirtual org.postgresql.core.PGStream.getHostSpec:()Lorg/postgresql/util/HostSpec;
invokevirtual org.postgresql.util.HostSpec.getHost:()Ljava/lang/String;
aastore
dup
iconst_1
aload 4
aastore
19: invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
20: getstatic org.postgresql.util.PSQLState.CONNECTION_FAILURE:Lorg/postgresql/util/PSQLState;
21: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 stream Lorg/postgresql/core/PGStream;
0 22 1 info Ljava/util/Properties;
0 22 2 newConnection Ljavax/net/ssl/SSLSocket;
3 5 3 hvn Ljavax/net/ssl/HostnameVerifier;
6 7 3 hvn Ljavax/net/ssl/HostnameVerifier;
14 22 3 hvn Ljavax/net/ssl/HostnameVerifier;
1 22 4 sslhostnameverifier Ljava/lang/String;
8 14 5 e Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
stream
info
newConnection
}
SourceFile: "MakeSSL.java"