public abstract class org.postgresql.ssl.DbKeyStoreSocketFactory extends org.postgresql.ssl.WrappedFactory
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.postgresql.ssl.DbKeyStoreSocketFactory
super_class: org.postgresql.ssl.WrappedFactory
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 // org.postgresql.ssl.DbKeyStoreSocketFactory this
0: .line 23
aload 0 /* this */
invokespecial org.postgresql.ssl.WrappedFactory.<init>:()V
1: .line 27
ldc "JKS"
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 1 /* keys */
start local 1 // java.security.KeyStore keys
2: .line 28
aload 0 /* this */
invokevirtual org.postgresql.ssl.DbKeyStoreSocketFactory.getKeyStorePassword:()[C
astore 2 /* password */
start local 2 // char[] password
3: .line 29
aload 1 /* keys */
aload 0 /* this */
invokevirtual org.postgresql.ssl.DbKeyStoreSocketFactory.getKeyStoreStream:()Ljava/io/InputStream;
aload 2 /* password */
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
4: .line 30
goto 11
end local 2 // char[] password
end local 1 // java.security.KeyStore keys
StackMap locals: org.postgresql.ssl.DbKeyStoreSocketFactory
StackMap stack: java.security.GeneralSecurityException
5: astore 3 /* gse */
start local 3 // java.security.GeneralSecurityException gse
6: .line 31
new org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
dup
new java.lang.StringBuilder
dup
ldc "Failed to load keystore: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* gse */
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.security.GeneralSecurityException gse
7: .line 32
StackMap locals:
StackMap stack: java.io.FileNotFoundException
astore 3 /* fnfe */
start local 3 // java.io.FileNotFoundException fnfe
8: .line 33
new org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
dup
new java.lang.StringBuilder
dup
ldc "Failed to find keystore file."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* fnfe */
invokevirtual java.io.FileNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.io.FileNotFoundException fnfe
9: .line 34
StackMap locals:
StackMap stack: java.io.IOException
astore 3 /* ioe */
start local 3 // java.io.IOException ioe
10: .line 35
new org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
dup
new java.lang.StringBuilder
dup
ldc "Failed to read keystore file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* ioe */
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.io.IOException ioe
start local 1 // java.security.KeyStore keys
start local 2 // char[] password
11: .line 39
StackMap locals: java.security.KeyStore char[]
StackMap stack:
invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
12: .line 38
astore 3 /* keyfact */
start local 3 // javax.net.ssl.KeyManagerFactory keyfact
13: .line 40
aload 3 /* keyfact */
aload 1 /* keys */
aload 2 /* password */
invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
14: .line 43
invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
15: .line 42
astore 4 /* trustfact */
start local 4 // javax.net.ssl.TrustManagerFactory trustfact
16: .line 44
aload 4 /* trustfact */
aload 1 /* keys */
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
17: .line 46
ldc "SSL"
invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
astore 5 /* ctx */
start local 5 // javax.net.ssl.SSLContext ctx
18: .line 47
aload 5 /* ctx */
aload 3 /* keyfact */
invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
aload 4 /* trustfact */
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
aconst_null
invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
19: .line 48
aload 0 /* this */
aload 5 /* ctx */
invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
putfield org.postgresql.ssl.DbKeyStoreSocketFactory.factory:Ljavax/net/ssl/SSLSocketFactory;
end local 5 // javax.net.ssl.SSLContext ctx
end local 4 // javax.net.ssl.TrustManagerFactory trustfact
end local 3 // javax.net.ssl.KeyManagerFactory keyfact
20: .line 49
goto 25
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
21: astore 3 /* gse */
start local 3 // java.security.GeneralSecurityException gse
22: .line 50
new org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
dup
23: .line 51
new java.lang.StringBuilder
dup
ldc "Failed to set up database socket factory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* gse */
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: .line 50
invokespecial org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.security.GeneralSecurityException gse
25: .line 53
StackMap locals:
StackMap stack:
return
end local 2 // char[] password
end local 1 // java.security.KeyStore keys
end local 0 // org.postgresql.ssl.DbKeyStoreSocketFactory this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/postgresql/ssl/DbKeyStoreSocketFactory;
2 5 1 keys Ljava/security/KeyStore;
11 26 1 keys Ljava/security/KeyStore;
3 5 2 password [C
11 26 2 password [C
6 7 3 gse Ljava/security/GeneralSecurityException;
8 9 3 fnfe Ljava/io/FileNotFoundException;
10 11 3 ioe Ljava/io/IOException;
13 20 3 keyfact Ljavax/net/ssl/KeyManagerFactory;
16 20 4 trustfact Ljavax/net/ssl/TrustManagerFactory;
18 20 5 ctx Ljavax/net/ssl/SSLContext;
22 25 3 gse Ljava/security/GeneralSecurityException;
Exception table:
from to target type
1 4 5 Class java.security.GeneralSecurityException
1 4 7 Class java.io.FileNotFoundException
1 4 9 Class java.io.IOException
11 20 21 Class java.security.GeneralSecurityException
Exceptions:
throws org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
public abstract char[] getKeyStorePassword();
descriptor: ()[C
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.io.InputStream getKeyStoreStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "DbKeyStoreSocketFactory.java"
NestMembers:
org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException
InnerClasses:
public DbKeyStoreSocketException = org.postgresql.ssl.DbKeyStoreSocketFactory$DbKeyStoreSocketException of org.postgresql.ssl.DbKeyStoreSocketFactory