public class org.h2.security.CipherFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.security.CipherFactory
super_class: java.lang.Object
{
public static final java.lang.String KEYSTORE_PASSWORD;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "h2pass"
public static final java.lang.String LEGACY_ALGORITHMS_SECURITY_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk.tls.legacyAlgorithms"
public static final java.lang.String DEFAULT_LEGACY_ALGORITHMS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.String KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "~/.h2.keystore"
private static final java.lang.String KEYSTORE_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.net.ssl.keyStore"
private static final java.lang.String KEYSTORE_PASSWORD_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.net.ssl.keyStorePassword"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.h2.security.CipherFactory.getLegacyAlgorithmsSilently:()Ljava/lang/String;
putstatic org.h2.security.CipherFactory.DEFAULT_LEGACY_ALGORITHMS:Ljava/lang/String;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/security/CipherFactory;
public static org.h2.security.BlockCipher getBlockCipher(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/h2/security/BlockCipher;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "XTEA"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: new org.h2.security.XTEA
dup
invokespecial org.h2.security.XTEA.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
ldc "AES"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: new org.h2.security.AES
dup
invokespecial org.h2.security.AES.<init>:()V
areturn
4: StackMap locals:
StackMap stack:
ldc "FOG"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
5: new org.h2.security.Fog
dup
invokespecial org.h2.security.Fog.<init>:()V
areturn
6: StackMap locals:
StackMap stack:
ldc 90055
aload 0
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 algorithm Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
public static java.net.Socket createSocket(java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;I)Ljava/net/Socket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: invokestatic org.h2.security.CipherFactory.setKeystore:()V
2: invokestatic javax.net.ssl.SSLSocketFactory.getDefault:()Ljavax/net/SocketFactory;
checkcast javax.net.ssl.SSLSocketFactory
astore 3
start local 3 3: aload 3
invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:()Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
astore 4
start local 4 4: aload 4
new java.net.InetSocketAddress
dup
aload 0
iload 1
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
5: getstatic org.h2.engine.SysProperties.SOCKET_CONNECT_TIMEOUT:I
6: invokevirtual javax.net.ssl.SSLSocket.connect:(Ljava/net/SocketAddress;I)V
7: aload 4
8: aload 4
invokevirtual javax.net.ssl.SSLSocket.getEnabledProtocols:()[Ljava/lang/String;
invokestatic org.h2.security.CipherFactory.disableSSL:([Ljava/lang/String;)[Ljava/lang/String;
9: invokevirtual javax.net.ssl.SSLSocket.setEnabledProtocols:([Ljava/lang/String;)V
10: getstatic org.h2.engine.SysProperties.ENABLE_ANONYMOUS_TLS:Z
ifeq 15
11: aload 4
invokevirtual javax.net.ssl.SSLSocket.getEnabledCipherSuites:()[Ljava/lang/String;
12: aload 4
invokevirtual javax.net.ssl.SSLSocket.getSupportedCipherSuites:()[Ljava/lang/String;
13: invokestatic org.h2.security.CipherFactory.enableAnonymous:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 14: aload 4
aload 5
invokevirtual javax.net.ssl.SSLSocket.setEnabledCipherSuites:([Ljava/lang/String;)V
end local 5 15: StackMap locals: java.net.Socket javax.net.ssl.SSLSocketFactory javax.net.ssl.SSLSocket
StackMap stack:
aload 4
astore 2
16: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 address Ljava/net/InetAddress;
0 17 1 port I
1 17 2 socket Ljava/net/Socket;
3 17 3 f Ljavax/net/ssl/SSLSocketFactory;
4 17 4 secureSocket Ljavax/net/ssl/SSLSocket;
14 15 5 list [Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
public static java.net.ServerSocket createServerSocket(int, java.net.InetAddress);
descriptor: (ILjava/net/InetAddress;)Ljava/net/ServerSocket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: getstatic org.h2.engine.SysProperties.ENABLE_ANONYMOUS_TLS:Z
ifeq 3
2: invokestatic org.h2.security.CipherFactory.removeAnonFromLegacyAlgorithms:()V
3: StackMap locals: java.net.ServerSocket
StackMap stack:
invokestatic org.h2.security.CipherFactory.setKeystore:()V
4: invokestatic javax.net.ssl.SSLServerSocketFactory.getDefault:()Ljavax/net/ServerSocketFactory;
astore 3
start local 3 5: aload 1
ifnonnull 8
6: aload 3
iload 0
invokevirtual javax.net.ServerSocketFactory.createServerSocket:(I)Ljava/net/ServerSocket;
checkcast javax.net.ssl.SSLServerSocket
astore 4
start local 4 7: goto 9
end local 4 8: StackMap locals: javax.net.ServerSocketFactory
StackMap stack:
aload 3
iload 0
iconst_0
aload 1
invokevirtual javax.net.ServerSocketFactory.createServerSocket:(IILjava/net/InetAddress;)Ljava/net/ServerSocket;
checkcast javax.net.ssl.SSLServerSocket
astore 4
start local 4 9: StackMap locals: javax.net.ssl.SSLServerSocket
StackMap stack:
aload 4
10: aload 4
invokevirtual javax.net.ssl.SSLServerSocket.getEnabledProtocols:()[Ljava/lang/String;
invokestatic org.h2.security.CipherFactory.disableSSL:([Ljava/lang/String;)[Ljava/lang/String;
11: invokevirtual javax.net.ssl.SSLServerSocket.setEnabledProtocols:([Ljava/lang/String;)V
12: getstatic org.h2.engine.SysProperties.ENABLE_ANONYMOUS_TLS:Z
ifeq 17
13: aload 4
invokevirtual javax.net.ssl.SSLServerSocket.getEnabledCipherSuites:()[Ljava/lang/String;
14: aload 4
invokevirtual javax.net.ssl.SSLServerSocket.getSupportedCipherSuites:()[Ljava/lang/String;
15: invokestatic org.h2.security.CipherFactory.enableAnonymous:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 16: aload 4
aload 5
invokevirtual javax.net.ssl.SSLServerSocket.setEnabledCipherSuites:([Ljava/lang/String;)V
end local 5 17: StackMap locals:
StackMap stack:
aload 4
astore 2
18: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 port I
0 19 1 bindAddress Ljava/net/InetAddress;
1 19 2 socket Ljava/net/ServerSocket;
5 19 3 f Ljavax/net/ServerSocketFactory;
7 8 4 secureSocket Ljavax/net/ssl/SSLServerSocket;
9 19 4 secureSocket Ljavax/net/ssl/SSLServerSocket;
16 17 5 list [Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
port
bindAddress
public static java.lang.String removeDhAnonFromCommaSeparatedList(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
aload 0
ldc "\\s*,\\s*"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 3: aload 1
ldc "DH_anon"
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
istore 2
start local 2 4: aload 1
ldc "ECDH_anon"
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
istore 3
start local 3 5: iload 2
ifne 6
iload 3
ifeq 10
6: StackMap locals: java.util.List int int
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;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 7: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifne 8
aload 4
iconst_1
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 9
StackMap locals: java.lang.String
StackMap stack:
8: ldc ""
StackMap locals:
StackMap stack: java.lang.String
9: areturn
end local 4 10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 list Ljava/lang/String;
3 11 1 algorithms Ljava/util/List<Ljava/lang/String;>;
4 11 2 dhAnonRemoved Z
5 11 3 ecdhAnonRemoved Z
7 10 4 string Ljava/lang/String;
MethodParameters:
Name Flags
list
public static synchronized void removeAnonFromLegacyAlgorithms();
descriptor: ()V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=0
0: invokestatic org.h2.security.CipherFactory.getLegacyAlgorithmsSilently:()Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: return
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic org.h2.security.CipherFactory.removeDhAnonFromCommaSeparatedList:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 4: aload 0
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: aload 1
invokestatic org.h2.security.CipherFactory.setLegacyAlgorithmsSilently:(Ljava/lang/String;)V
6: StackMap locals: java.lang.String
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 legacyOriginal Ljava/lang/String;
4 7 1 legacyNew Ljava/lang/String;
public static synchronized void resetDefaultLegacyAlgorithms();
descriptor: ()V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic org.h2.security.CipherFactory.DEFAULT_LEGACY_ALGORITHMS:Ljava/lang/String;
invokestatic org.h2.security.CipherFactory.setLegacyAlgorithmsSilently:(Ljava/lang/String;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getLegacyAlgorithmsSilently();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: aconst_null
astore 0
start local 0 1: ldc "jdk.tls.legacyAlgorithms"
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
2: goto 4
StackMap locals: java.lang.String
StackMap stack: java.lang.SecurityException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 defaultLegacyAlgorithms Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
private static void setLegacyAlgorithmsSilently(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
ldc "jdk.tls.legacyAlgorithms"
aload 0
invokestatic java.security.Security.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
3: goto 5
StackMap locals:
StackMap stack: java.lang.SecurityException
4: pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 legacyAlgorithms Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
MethodParameters:
Name Flags
legacyAlgorithms
private static byte[] getKeyStoreBytes(java.security.KeyStore, java.lang.String);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
2: goto 5
StackMap locals: java.security.KeyStore java.lang.String java.io.ByteArrayOutputStream
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 store Ljava/security/KeyStore;
0 6 1 password Ljava/lang/String;
1 6 2 bout Ljava/io/ByteArrayOutputStream;
4 5 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
store
password
public static java.security.KeyStore getKeyStore(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/KeyStore;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 1
start local 1 1: aload 1
aconst_null
aload 0
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
2: ldc "RSA"
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 2
start local 2 3: aload 1
aconst_null
aload 0
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
4: new java.security.spec.PKCS8EncodedKeySpec
dup
5: ldc "30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100dc0a13c602b7141110eade2f051b54777b060d0f74e6a110f9cce81159f271ebc88d8e8aa1f743b505fc2e7dfe38d33b8d3f64d1b363d1af4d877833897954cbaec2fa384c22a415498cf306bb07ac09b76b001cd68bf77ea0a628f5101959cf2993a9c23dbee79b19305977f8715ae78d023471194cc900b231eecb0aaea98d02030100010281810099aa4ff4d0a09a5af0bd953cb10c4d08c3d98df565664ac5582e494314d5c3c92dddedd5d316a32a206be4ec084616fe57be15e27cad111aa3c21fa79e32258c6ca8430afc69eddd52d3b751b37da6b6860910b94653192c0db1d02abcfd6ce14c01f238eec7c20bd3bb750940004bacba2880349a9494d10e139ecb2355d101024100ffdc3defd9c05a2d377ef6019fa62b3fbd5b0020a04cc8533bca730e1f6fcf5dfceea1b044fbe17d9eababfbc7d955edad6bc60f9be826ad2c22ba77d19a9f65024100dc28d43fdbbc93852cc3567093157702bc16f156f709fb7db0d9eec028f41fd0edcd17224c866e66be1744141fb724a10fd741c8a96afdd9141b36d67fff6309024077b1cddbde0f69604bdcfe33263fb36ddf24aa3b9922327915b890f8a36648295d0139ecdf68c245652c4489c6257b58744fbdd961834a4cab201801a3b1e52d024100b17142e8991d1b350a0802624759d48ae2b8071a158ff91fabeb6a8f7c328e762143dc726b8529f42b1fab6220d1c676fdc27ba5d44e847c72c52064afd351a902407c6e23fe35bcfcd1a662aa82a2aa725fcece311644d5b6e3894853fd4ce9fe78218c957b1ff03fc9e5ef8ffeb6bd58235f6a215c97d354fdace7e781e4a63e8b"
6: invokestatic org.h2.util.StringUtils.convertHexToBytes:(Ljava/lang/String;)[B
7: invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
astore 3
start local 3 8: aload 2
aload 3
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 4
start local 4 9: iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
10: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
11: new java.io.ByteArrayInputStream
dup
12: ldc "3082018b3081f502044295ce6b300d06092a864886f70d0101040500300d310b3009060355040313024832301e170d3035303532363133323630335a170d3337303933303036353734375a300d310b300906035504031302483230819f300d06092a864886f70d010101050003818d0030818902818100dc0a13c602b7141110eade2f051b54777b060d0f74e6a110f9cce81159f271ebc88d8e8aa1f743b505fc2e7dfe38d33b8d3f64d1b363d1af4d877833897954cbaec2fa384c22a415498cf306bb07ac09b76b001cd68bf77ea0a628f5101959cf2993a9c23dbee79b19305977f8715ae78d023471194cc900b231eecb0aaea98d0203010001300d06092a864886f70d01010405000381810083f4401a279453701bef9a7681a5b8b24f153f7d18c7c892133d97bd5f13736be7505290a445a7d5ceb75522403e5097515cd966ded6351ff60d5193de34cd36e5cb04d380398e66286f99923fd92296645fd4ada45844d194dfd815e6cd57f385c117be982809028bba1116c85740b3d27a55b1a0948bf291ddba44bed337b9"
13: invokestatic org.h2.util.StringUtils.convertHexToBytes:(Ljava/lang/String;)[B
14: invokespecial java.io.ByteArrayInputStream.<init>:([B)V
15: invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
aastore
16: astore 5
start local 5 17: aload 1
ldc "h2"
aload 4
aload 0
invokevirtual java.lang.String.toCharArray:()[C
aload 5
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
18: aload 1
19: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 20: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 21: aload 1
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 password Ljava/lang/String;
1 20 1 store Ljava/security/KeyStore;
3 20 2 keyFactory Ljava/security/KeyFactory;
8 20 3 keySpec Ljava/security/spec/PKCS8EncodedKeySpec;
9 20 4 privateKey Ljava/security/PrivateKey;
17 20 5 certs [Ljava/security/cert/Certificate;
21 22 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 19 20 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
password
private static void setKeystore();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=0
0: invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
astore 0
start local 0 1: aload 0
ldc "javax.net.ssl.keyStore"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 22
2: ldc "~/.h2.keystore"
astore 1
start local 1 3: ldc "h2pass"
4: invokestatic org.h2.security.CipherFactory.getKeyStore:(Ljava/lang/String;)Ljava/security/KeyStore;
5: ldc "h2pass"
6: invokestatic org.h2.security.CipherFactory.getKeyStoreBytes:(Ljava/security/KeyStore;Ljava/lang/String;)[B
astore 2
start local 2 7: iconst_1
istore 3
start local 3 8: aload 1
invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
ifeq 13
aload 1
invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
aload 2
arraylength
i2l
lcmp
ifne 13
9: aload 1
invokestatic org.h2.store.fs.FileUtils.newInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 4
start local 4 10: aload 4
iconst_0
invokestatic org.h2.util.IOUtils.readBytesAndClose:(Ljava/io/InputStream;I)[B
astore 5
start local 5 11: aload 5
ifnull 13
aload 2
aload 5
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 13
12: iconst_0
istore 3
end local 5 end local 4 13: StackMap locals: java.util.Properties java.lang.String byte[] int
StackMap stack:
iload 3
ifeq 20
14: aload 1
iconst_0
invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 4
start local 4 15: aload 4
aload 2
invokevirtual java.io.OutputStream.write:([B)V
16: aload 4
invokevirtual java.io.OutputStream.close:()V
end local 4 17: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
18: astore 4
start local 4 19: aload 4
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 4 20: StackMap locals:
StackMap stack:
aload 1
invokestatic org.h2.store.fs.FileUtils.toRealPath:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 21: ldc "javax.net.ssl.keyStore"
aload 4
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
end local 4 end local 3 end local 2 end local 1 22: StackMap locals:
StackMap stack:
aload 0
ldc "javax.net.ssl.keyStorePassword"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 24
23: ldc "javax.net.ssl.keyStorePassword"
ldc "h2pass"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 25 0 p Ljava/util/Properties;
3 22 1 fileName Ljava/lang/String;
7 22 2 data [B
8 22 3 needWrite Z
10 13 4 fin Ljava/io/InputStream;
11 13 5 now [B
15 17 4 out Ljava/io/OutputStream;
19 20 4 e Ljava/lang/Exception;
21 22 4 absolutePath Ljava/lang/String;
Exception table:
from to target type
14 17 18 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private static java.lang.String[] enableAnonymous(java.lang.String[], java.lang.String[]);
descriptor: ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: java.lang.String[] java.lang.String[] java.util.LinkedHashSet top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
ldc "SSL"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 7
aload 3
ldc "_anon_"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
4: aload 3
ldc "_AES_"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 5
aload 3
ldc "_3DES_"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
StackMap locals: java.lang.String[] java.lang.String[] java.util.LinkedHashSet java.lang.String int int java.lang.String[]
StackMap stack:
5: aload 3
ldc "_SHA"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
6: aload 2
aload 3
invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals: java.lang.String[] java.lang.String[] java.util.LinkedHashSet top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 2
9: aload 2
aload 0
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
10: aload 2
iconst_0
anewarray java.lang.String
invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 enabled [Ljava/lang/String;
0 11 1 supported [Ljava/lang/String;
1 11 2 set Ljava/util/LinkedHashSet<Ljava/lang/String;>;
3 7 3 x Ljava/lang/String;
MethodParameters:
Name Flags
enabled
supported
private static java.lang.String[] disableSSL(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: java.lang.String[] java.util.HashSet top int int java.lang.String[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
ldc "SSL"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
4: aload 1
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: aload 1
iconst_0
anewarray java.lang.String
invokevirtual java.util.HashSet.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 8 0 enabled [Ljava/lang/String;
1 8 1 set Ljava/util/HashSet<Ljava/lang/String;>;
3 5 2 x Ljava/lang/String;
MethodParameters:
Name Flags
enabled
}
SourceFile: "CipherFactory.java"