public abstract class org.apache.tomcat.util.net.SSLUtilBase implements org.apache.tomcat.util.net.SSLUtil
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.tomcat.util.net.SSLUtilBase
super_class: java.lang.Object
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected final org.apache.tomcat.util.net.SSLHostConfig sslHostConfig;
descriptor: Lorg/apache/tomcat/util/net/SSLHostConfig;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.apache.tomcat.util.net.SSLHostConfigCertificate certificate;
descriptor: Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final java.lang.String[] enabledProtocols;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] enabledCiphers;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/tomcat/util/net/SSLUtilBase;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/tomcat/util/net/SSLUtilBase;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.apache.tomcat.util.net.SSLHostConfigCertificate);
descriptor: (Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.apache.tomcat.util.net.SSLUtilBase.<init>:(Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 2 1 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
MethodParameters:
Name Flags
certificate
protected void <init>(org.apache.tomcat.util.net.SSLHostConfigCertificate, boolean);
descriptor: (Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, 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 org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
2: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getSSLHostConfig:()Lorg/apache/tomcat/util/net/SSLHostConfig;
putfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
3: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getProtocols:()Ljava/util/Set;
astore 3
start local 3 4: aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getImplementedProtocols:()Ljava/util/Set;
astore 4
start local 4 5: aload 4
ldc "TLSv1.3"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
6: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
ldc "TLSv1.3"
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.isExplicitlyRequestedProtocol:(Ljava/lang/String;)Z
ifne 8
7: aload 3
ldc "TLSv1.3"
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
8: StackMap locals: org.apache.tomcat.util.net.SSLUtilBase org.apache.tomcat.util.net.SSLHostConfigCertificate int java.util.Set java.util.Set
StackMap stack:
aload 4
ldc "SSLv2Hello"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 11
9: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
ldc "SSLv2Hello"
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.isExplicitlyRequestedProtocol:(Ljava/lang/String;)Z
ifne 11
10: aload 3
ldc "SSLv2Hello"
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
ldc "protocols"
aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getLog:()Lorg/apache/juli/logging/Log;
iload 2
aload 3
aload 4
invokestatic org.apache.tomcat.util.net.SSLUtilBase.getEnabled:(Ljava/lang/String;Lorg/apache/juli/logging/Log;ZLjava/util/Collection;Ljava/util/Collection;)Ljava/util/List;
12: astore 5
start local 5 13: aload 5
ldc "SSLv3"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 15
14: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.ssl3"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
15: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 5
aload 5
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[]
putfield org.apache.tomcat.util.net.SSLUtilBase.enabledProtocols:[Ljava/lang/String;
16: aload 5
ldc "TLSv1.3"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 20
17: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificateVerification:()Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
getstatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.OPTIONAL:Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
if_acmpne 20
18: aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.isTls13RenegAuthAvailable:()Z
ifne 20
iload 2
ifeq 20
19: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.tls13.auth"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getJsseCipherNames:()Ljava/util/List;
astore 6
start local 6 21: aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getImplementedCiphers:()Ljava/util/Set;
astore 7
start local 7 22: ldc "ciphers"
aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getLog:()Lorg/apache/juli/logging/Log;
iconst_0
aload 6
aload 7
invokestatic org.apache.tomcat.util.net.SSLUtilBase.getEnabled:(Ljava/lang/String;Lorg/apache/juli/logging/Log;ZLjava/util/Collection;Ljava/util/Collection;)Ljava/util/List;
23: astore 8
start local 8 24: aload 0
aload 8
aload 8
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[]
putfield org.apache.tomcat.util.net.SSLUtilBase.enabledCiphers:[Ljava/lang/String;
25: return
end local 8 end local 7 end local 6 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 26 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 26 1 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
0 26 2 warnTls13 Z
4 26 3 configuredProtocols Ljava/util/Set<Ljava/lang/String;>;
5 26 4 implementedProtocols Ljava/util/Set<Ljava/lang/String;>;
13 26 5 enabledProtocols Ljava/util/List<Ljava/lang/String;>;
21 26 6 configuredCiphers Ljava/util/List<Ljava/lang/String;>;
22 26 7 implementedCiphers Ljava/util/Set<Ljava/lang/String;>;
24 26 8 enabledCiphers Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
certificate
warnTls13
static <T> java.util.List<T> getEnabled(java.lang.String, org.apache.juli.logging.Log, boolean, java.util.Collection<T>, java.util.Collection<T>);
descriptor: (Ljava/lang/String;Lorg/apache/juli/logging/Log;ZLjava/util/Collection;Ljava/util/Collection;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 1: aload 4
invokeinterface java.util.Collection.size:()I
ifne 4
2: aload 5
aload 3
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: goto 22
4: StackMap locals: java.util.List
StackMap stack:
aload 5
aload 3
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
5: aload 5
aload 4
invokeinterface java.util.List.retainAll:(Ljava/util/Collection;)Z
pop
6: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 10
7: new java.lang.IllegalArgumentException
dup
8: getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "sslUtilBase.noneSupported"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 3
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 12
11: aload 1
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "sslUtilBase.active"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 5
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifne 13
iload 2
ifeq 22
13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.size:()I
aload 3
invokeinterface java.util.Collection.size:()I
if_icmpeq 22
14: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 15: aload 6
aload 3
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
16: aload 6
aload 5
invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
pop
17: getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "sslUtilBase.skipped"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 6
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 18: iload 2
ifeq 21
19: aload 1
aload 7
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
20: goto 22
21: StackMap locals: java.util.List java.lang.String
StackMap stack:
aload 1
aload 7
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 7 end local 6 22: StackMap locals:
StackMap stack:
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 23 0 name Ljava/lang/String;
0 23 1 log Lorg/apache/juli/logging/Log;
0 23 2 warnOnSkip Z
0 23 3 configured Ljava/util/Collection<TT;>;
0 23 4 implemented Ljava/util/Collection<TT;>;
1 23 5 enabled Ljava/util/List<TT;>;
15 22 6 skipped Ljava/util/List<TT;>;
18 22 7 msg Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/apache/juli/logging/Log;ZLjava/util/Collection<TT;>;Ljava/util/Collection<TT;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
name
log
warnOnSkip
configured
implemented
static java.security.KeyStore getStore(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 1
ifnonnull 5
3: aload 0
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 4
4: goto 6
5: StackMap locals: java.security.KeyStore java.io.InputStream
StackMap stack:
aload 0
aload 1
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 4
6: StackMap locals:
StackMap stack:
ldc "DKS"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
7: invokestatic org.apache.tomcat.util.file.ConfigFileLoader.getSource:()Lorg/apache/tomcat/util/file/ConfigurationSource;
aload 2
invokeinterface org.apache.tomcat.util.file.ConfigurationSource.getURI:(Ljava/lang/String;)Ljava/net/URI;
astore 6
start local 6 8: aload 4
new java.security.DomainLoadStoreParameter
dup
aload 6
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
invokespecial java.security.DomainLoadStoreParameter.<init>:(Ljava/net/URI;Ljava/util/Map;)V
invokevirtual java.security.KeyStore.load:(Ljava/security/KeyStore$LoadStoreParameter;)V
end local 6 9: goto 36
10: StackMap locals:
StackMap stack:
ldc "PKCS11"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 12
11: ldc ""
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
12: StackMap locals:
StackMap stack:
ldc "NONE"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
13: StackMap locals:
StackMap stack:
invokestatic org.apache.tomcat.util.file.ConfigFileLoader.getSource:()Lorg/apache/tomcat/util/file/ConfigurationSource;
aload 2
invokeinterface org.apache.tomcat.util.file.ConfigurationSource.getResource:(Ljava/lang/String;)Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
invokevirtual org.apache.tomcat.util.file.ConfigurationSource$Resource.getInputStream:()Ljava/io/InputStream;
astore 5
14: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 15: aload 3
ifnull 18
ldc ""
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: ldc "JKS"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 17
ldc "PKCS12"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
17: StackMap locals: char[]
StackMap stack:
aload 3
invokevirtual java.lang.String.toCharArray:()[C
astore 6
18: StackMap locals:
StackMap stack:
aload 4
aload 5
aload 6
invokestatic org.apache.tomcat.util.security.KeyStoreUtil.load:(Ljava/security/KeyStore;Ljava/io/InputStream;[C)V
end local 6 19: goto 36
StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.security.KeyStore java.io.InputStream
StackMap stack: java.io.FileNotFoundException
20: astore 6
start local 6 21: aload 6
athrow
end local 6 22: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 23: aload 6
athrow
end local 6 24: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 25: getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.keystore_load_failed"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
26: aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aastore
27: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 28: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
aload 7
aload 6
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
29: new java.io.IOException
dup
aload 7
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
31: aload 5
ifnull 35
32: aload 5
invokevirtual java.io.InputStream.close:()V
33: goto 35
StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.security.KeyStore java.io.InputStream top top java.lang.Throwable
StackMap stack: java.io.IOException
34: pop
35: StackMap locals:
StackMap stack:
aload 8
athrow
36: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.security.KeyStore java.io.InputStream
StackMap stack:
aload 5
ifnull 40
37: aload 5
invokevirtual java.io.InputStream.close:()V
38: goto 40
StackMap locals:
StackMap stack: java.io.IOException
39: pop
40: StackMap locals:
StackMap stack:
aload 4
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 41 0 type Ljava/lang/String;
0 41 1 provider Ljava/lang/String;
0 41 2 path Ljava/lang/String;
0 41 3 pass Ljava/lang/String;
1 41 4 ks Ljava/security/KeyStore;
2 41 5 istream Ljava/io/InputStream;
8 9 6 uri Ljava/net/URI;
15 19 6 storePass [C
21 22 6 fnfe Ljava/io/FileNotFoundException;
23 24 6 ioe Ljava/io/IOException;
25 30 6 ex Ljava/lang/Exception;
28 30 7 msg Ljava/lang/String;
Exception table:
from to target type
2 19 20 Class java.io.FileNotFoundException
2 19 22 Class java.io.IOException
2 19 24 Class java.lang.Exception
2 30 30 any
32 33 34 Class java.io.IOException
37 38 39 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
type
provider
path
pass
public final org.apache.tomcat.util.net.SSLContext createSSLContext(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLContext;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.createSSLContextInternal:(Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLContext;
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
aload 0
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
aconst_null
invokeinterface org.apache.tomcat.util.net.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
2: aload 2
invokeinterface org.apache.tomcat.util.net.SSLContext.getServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 0
aload 3
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.configureSessionContext:(Ljavax/net/ssl/SSLSessionContext;)V
5: StackMap locals: org.apache.tomcat.util.net.SSLContext javax.net.ssl.SSLSessionContext
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 6 1 negotiableProtocols Ljava/util/List<Ljava/lang/String;>;
1 6 2 sslContext Lorg/apache/tomcat/util/net/SSLContext;
3 6 3 sessionContext Ljavax/net/ssl/SSLSessionContext;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/util/List<Ljava/lang/String;>;)Lorg/apache/tomcat/util/net/SSLContext;
MethodParameters:
Name Flags
negotiableProtocols
public void configureSessionContext(javax.net.ssl.SSLSessionContext);
descriptor: (Ljavax/net/ssl/SSLSessionContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getSessionCacheSize:()I
iflt 2
1: aload 1
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getSessionCacheSize:()I
invokeinterface javax.net.ssl.SSLSessionContext.setSessionCacheSize:(I)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getSessionTimeout:()I
iflt 4
3: aload 1
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getSessionTimeout:()I
invokeinterface javax.net.ssl.SSLSessionContext.setSessionTimeout:(I)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 5 1 sslSessionContext Ljavax/net/ssl/SSLSessionContext;
MethodParameters:
Name Flags
sslSessionContext
public javax.net.ssl.KeyManager[] getKeyManagers();
descriptor: ()[Ljavax/net/ssl/KeyManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeyAlias:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getKeyManagerAlgorithm:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeyPassword:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystorePassword:()Ljava/lang/String;
astore 3
5: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore:()Ljava/security/KeyStore;
astore 4
start local 4 6: aload 4
astore 5
start local 5 7: aload 3
invokevirtual java.lang.String.toCharArray:()[C
astore 6
start local 6 8: aload 4
ifnonnull 30
9: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateFile:()Ljava/lang/String;
ifnonnull 11
10: new java.io.IOException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.noCertFile"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.security.KeyStore java.security.KeyStore char[]
StackMap stack:
new org.apache.tomcat.util.net.jsse.PEMFile
dup
12: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeyFile:()Ljava/lang/String;
ifnull 13
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeyFile:()Ljava/lang/String;
goto 14
StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String java.lang.String java.lang.String java.security.KeyStore java.security.KeyStore char[]
StackMap stack: new 11 new 11
13: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateFile:()Ljava/lang/String;
14: StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String java.lang.String java.lang.String java.security.KeyStore java.security.KeyStore char[]
StackMap stack: new 11 new 11 java.lang.String
aload 3
15: invokespecial org.apache.tomcat.util.net.jsse.PEMFile.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 7
start local 7 16: new org.apache.tomcat.util.net.jsse.PEMFile
dup
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateFile:()Ljava/lang/String;
invokespecial org.apache.tomcat.util.net.jsse.PEMFile.<init>:(Ljava/lang/String;)V
astore 8
start local 8 17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 18: aload 9
aload 8
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile.getCertificates:()Ljava/util/List;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
19: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateChainFile:()Ljava/lang/String;
ifnull 22
20: new org.apache.tomcat.util.net.jsse.PEMFile
dup
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateChainFile:()Ljava/lang/String;
invokespecial org.apache.tomcat.util.net.jsse.PEMFile.<init>:(Ljava/lang/String;)V
astore 10
start local 10 21: aload 9
aload 10
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile.getCertificates:()Ljava/util/List;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
end local 10 22: StackMap locals: org.apache.tomcat.util.net.jsse.PEMFile org.apache.tomcat.util.net.jsse.PEMFile java.util.Collection
StackMap stack:
aload 1
ifnonnull 24
23: ldc "tomcat"
astore 1
24: StackMap locals:
StackMap stack:
ldc "JKS"
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 5
25: aload 5
aconst_null
aconst_null
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
26: aload 5
aload 1
aload 7
invokevirtual org.apache.tomcat.util.net.jsse.PEMFile.getPrivateKey:()Ljava/security/PrivateKey;
aload 3
invokevirtual java.lang.String.toCharArray:()[C
27: aload 9
aload 9
invokeinterface java.util.Collection.size:()I
anewarray java.security.cert.Certificate
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
28: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
end local 9 end local 8 end local 7 29: goto 54
30: StackMap locals:
StackMap stack:
aload 1
ifnull 32
aload 4
aload 1
invokevirtual java.security.KeyStore.isKeyEntry:(Ljava/lang/String;)Z
ifne 32
31: new java.io.IOException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.alias_no_key_entry"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 1
ifnonnull 42
33: aload 4
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 7
start local 7 34: aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 39
35: new java.io.IOException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.noKeys"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals: java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
37: aload 4
aload 1
invokevirtual java.security.KeyStore.isKeyEntry:(Ljava/lang/String;)Z
ifne 39
38: aconst_null
astore 1
39: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 40
aload 1
ifnull 36
40: StackMap locals:
StackMap stack:
aload 1
ifnonnull 42
41: new java.io.IOException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsse.alias_no_key_entry"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 7 42: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 6
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 7
start local 7 43: aload 7
ifnull 54
ldc "DKS"
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystoreType:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 54
44: ldc "PKCS#8"
aload 7
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 54
45: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystoreProvider:()Ljava/lang/String;
astore 8
start local 8 46: aload 8
ifnonnull 49
47: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystoreType:()Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 5
48: goto 52
49: StackMap locals: java.security.Key java.lang.String
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystoreType:()Ljava/lang/String;
50: aload 8
51: invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 5
52: StackMap locals:
StackMap stack:
aload 5
aconst_null
aconst_null
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
53: aload 5
aload 1
aload 7
aload 6
aload 4
aload 1
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
end local 8 end local 7 54: StackMap locals:
StackMap stack:
aload 2
invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
astore 7
start local 7 55: aload 7
aload 5
aload 6
invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
56: aload 7
invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
astore 8
start local 8 57: aload 8
ifnull 66
aload 5
aload 4
if_acmpne 66
58: aload 1
astore 9
start local 9 59: ldc "JKS"
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.certificate:Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystoreType:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
60: aload 9
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 9
61: StackMap locals: javax.net.ssl.KeyManagerFactory javax.net.ssl.KeyManager[] java.lang.String
StackMap stack:
iconst_0
istore 10
start local 10 62: goto 65
63: StackMap locals: int
StackMap stack:
aload 8
iload 10
new org.apache.tomcat.util.net.jsse.JSSEKeyManager
dup
aload 8
iload 10
aaload
checkcast javax.net.ssl.X509KeyManager
aload 9
invokespecial org.apache.tomcat.util.net.jsse.JSSEKeyManager.<init>:(Ljavax/net/ssl/X509KeyManager;Ljava/lang/String;)V
aastore
64: iinc 10 1
StackMap locals:
StackMap stack:
65: iload 10
aload 8
arraylength
if_icmplt 63
end local 10 end local 9 66: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 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 67 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
1 67 1 keyAlias Ljava/lang/String;
2 67 2 algorithm Ljava/lang/String;
3 67 3 keyPass Ljava/lang/String;
6 67 4 ks Ljava/security/KeyStore;
7 67 5 ksUsed Ljava/security/KeyStore;
8 67 6 keyPassArray [C
16 29 7 privateKeyFile Lorg/apache/tomcat/util/net/jsse/PEMFile;
17 29 8 certificateFile Lorg/apache/tomcat/util/net/jsse/PEMFile;
18 29 9 chain Ljava/util/Collection<Ljava/security/cert/Certificate;>;
21 22 10 certificateChainFile Lorg/apache/tomcat/util/net/jsse/PEMFile;
34 42 7 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
43 54 7 k Ljava/security/Key;
46 54 8 provider Ljava/lang/String;
55 67 7 kmf Ljavax/net/ssl/KeyManagerFactory;
57 67 8 kms [Ljavax/net/ssl/KeyManager;
59 66 9 alias Ljava/lang/String;
62 66 10 i I
Exceptions:
throws java.lang.Exception
public java.lang.String[] getEnabledProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.enabledProtocols:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
public java.lang.String[] getEnabledCiphers();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.enabledCiphers:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
public javax.net.ssl.TrustManager[] getTrustManagers();
descriptor: ()[Ljavax/net/ssl/TrustManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getTrustManagerClassName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 11
aload 1
invokevirtual java.lang.String.length:()I
ifle 11
2: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 3: aload 2
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 4: ldc Ljavax/net/ssl/TrustManager;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 8
5: new java.lang.InstantiationException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
6: ldc "jsse.invalidTrustManagerClassName"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
7: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String java.lang.ClassLoader java.lang.Class
StackMap stack:
aload 3
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 9: aload 4
checkcast javax.net.ssl.TrustManager
astore 5
start local 5 10: iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
aload 5
aastore
areturn
end local 5 end local 4 end local 3 end local 2 11: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 12: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getTruststore:()Ljava/security/KeyStore;
astore 3
start local 3 13: aload 3
ifnull 32
14: aload 0
aload 3
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.checkTrustStoreEntries:(Ljava/security/KeyStore;)V
15: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getTruststoreAlgorithm:()Ljava/lang/String;
astore 4
start local 4 16: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificateRevocationListFile:()Ljava/lang/String;
astore 5
start local 5 17: aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getRevocationEnabled:()Z
istore 6
start local 6 18: ldc "PKIX"
aload 4
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 25
19: aload 4
invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 7
start local 7 20: aload 0
aload 5
aload 3
iload 6
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getParameters:(Ljava/lang/String;Ljava/security/KeyStore;Z)Ljava/security/cert/CertPathParameters;
astore 8
start local 8 21: new javax.net.ssl.CertPathTrustManagerParameters
dup
aload 8
invokespecial javax.net.ssl.CertPathTrustManagerParameters.<init>:(Ljava/security/cert/CertPathParameters;)V
astore 9
start local 9 22: aload 7
aload 9
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljavax/net/ssl/ManagerFactoryParameters;)V
23: aload 7
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 2
end local 9 end local 8 end local 7 24: goto 32
25: StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String javax.net.ssl.TrustManager[] java.security.KeyStore java.lang.String java.lang.String int
StackMap stack:
aload 4
invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 7
start local 7 26: aload 7
aload 3
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
27: aload 7
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 2
28: aload 5
ifnull 30
aload 5
invokevirtual java.lang.String.length:()I
ifle 30
29: new java.security.cert.CRLException
dup
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsseUtil.noCrlSupport"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: javax.net.ssl.TrustManagerFactory
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.isCertificateVerificationDepthConfigured:()Z
ifeq 32
31: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsseUtil.noVerificationDepth"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
end local 7 end local 6 end local 5 end local 4 32: StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String javax.net.ssl.TrustManager[] java.security.KeyStore
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
1 33 1 className Ljava/lang/String;
3 11 2 classLoader Ljava/lang/ClassLoader;
4 11 3 clazz Ljava/lang/Class<*>;
9 11 4 trustManagerObject Ljava/lang/Object;
10 11 5 trustManager Ljavax/net/ssl/TrustManager;
12 33 2 tms [Ljavax/net/ssl/TrustManager;
13 33 3 trustStore Ljava/security/KeyStore;
16 32 4 algorithm Ljava/lang/String;
17 32 5 crlf Ljava/lang/String;
18 32 6 revocationEnabled Z
20 24 7 tmf Ljavax/net/ssl/TrustManagerFactory;
21 24 8 params Ljava/security/cert/CertPathParameters;
22 24 9 mfp Ljavax/net/ssl/ManagerFactoryParameters;
26 32 7 tmf Ljavax/net/ssl/TrustManagerFactory;
Exceptions:
throws java.lang.Exception
private void checkTrustStoreEntries(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 2
start local 2 1: aload 2
ifnull 22
2: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 3
start local 3 3: goto 21
4: StackMap locals: java.util.Enumeration java.util.Date
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 1
aload 4
invokevirtual java.security.KeyStore.isCertificateEntry:(Ljava/lang/String;)Z
ifeq 21
6: aload 1
aload 4
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 5
start local 5 7: aload 5
instanceof java.security.cert.X509Certificate
ifeq 19
8: aload 5
checkcast java.security.cert.X509Certificate
aload 3
invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
9: goto 21
StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.security.KeyStore java.util.Enumeration java.util.Date java.lang.String java.security.cert.Certificate
StackMap stack: java.security.cert.CertificateException
10: astore 6
start local 6 11: getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsseUtil.trustedCertNotValid"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
12: aload 5
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
aastore
dup
iconst_2
aload 6
invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
aastore
13: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 14: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 17
15: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
aload 7
aload 6
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
16: goto 21
17: StackMap locals: java.security.cert.CertificateException java.lang.String
StackMap stack:
getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
aload 7
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
end local 7 end local 6 18: goto 21
19: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 21
20: getstatic org.apache.tomcat.util.net.SSLUtilBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.SSLUtilBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jsseUtil.trustedCertNotChecked"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 23 1 trustStore Ljava/security/KeyStore;
1 23 2 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
3 22 3 now Ljava/util/Date;
5 21 4 alias Ljava/lang/String;
7 21 5 cert Ljava/security/cert/Certificate;
11 18 6 e Ljava/security/cert/CertificateException;
14 18 7 msg Ljava/lang/String;
Exception table:
from to target type
8 9 10 Class java.security.cert.CertificateExpiredException
8 9 10 Class java.security.cert.CertificateNotYetValidException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
trustStore
protected java.security.cert.CertPathParameters getParameters(java.lang.String, java.security.KeyStore, boolean);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore;Z)Ljava/security/cert/CertPathParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.security.cert.PKIXBuilderParameters
dup
aload 2
new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
invokespecial java.security.cert.PKIXBuilderParameters.<init>:(Ljava/security/KeyStore;Ljava/security/cert/CertSelector;)V
1: astore 4
start local 4 2: aload 1
ifnull 9
aload 1
invokevirtual java.lang.String.length:()I
ifle 9
3: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SSLUtilBase.getCRLs:(Ljava/lang/String;)Ljava/util/Collection;
astore 5
start local 5 4: new java.security.cert.CollectionCertStoreParameters
dup
aload 5
invokespecial java.security.cert.CollectionCertStoreParameters.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 5: ldc "Collection"
aload 6
invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
astore 7
start local 7 6: aload 4
aload 7
invokevirtual java.security.cert.PKIXBuilderParameters.addCertStore:(Ljava/security/cert/CertStore;)V
7: aload 4
iconst_1
invokevirtual java.security.cert.PKIXBuilderParameters.setRevocationEnabled:(Z)V
end local 7 end local 6 end local 5 8: goto 10
9: StackMap locals: java.security.cert.PKIXBuilderParameters
StackMap stack:
aload 4
iload 3
invokevirtual java.security.cert.PKIXBuilderParameters.setRevocationEnabled:(Z)V
10: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.apache.tomcat.util.net.SSLUtilBase.sslHostConfig:Lorg/apache/tomcat/util/net/SSLHostConfig;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificateVerificationDepth:()I
invokevirtual java.security.cert.PKIXBuilderParameters.setMaxPathLength:(I)V
11: 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 12 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 12 1 crlf Ljava/lang/String;
0 12 2 trustStore Ljava/security/KeyStore;
0 12 3 revocationEnabled Z
2 12 4 xparams Ljava/security/cert/PKIXBuilderParameters;
4 8 5 crls Ljava/util/Collection<+Ljava/security/cert/CRL;>;
5 8 6 csp Ljava/security/cert/CertStoreParameters;
6 8 7 store Ljava/security/cert/CertStore;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
crlf
trustStore
revocationEnabled
protected java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Collection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 3
start local 3 2: aconst_null
astore 4
aconst_null
astore 5
3: invokestatic org.apache.tomcat.util.file.ConfigFileLoader.getSource:()Lorg/apache/tomcat/util/file/ConfigurationSource;
aload 1
invokeinterface org.apache.tomcat.util.file.ConfigurationSource.getResource:(Ljava/lang/String;)Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
invokevirtual org.apache.tomcat.util.file.ConfigurationSource$Resource.getInputStream:()Ljava/io/InputStream;
astore 6
start local 6 4: aload 3
aload 6
invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 2
5: aload 6
ifnull 17
aload 6
invokevirtual java.io.InputStream.close:()V
goto 17
StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String java.util.Collection java.security.cert.CertificateFactory java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
6: astore 4
aload 6
ifnull 7
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
7: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 5
aload 4
ifnonnull 9
aload 5
astore 4
goto 10
StackMap locals:
StackMap stack:
9: aload 4
aload 5
if_acmpeq 10
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 4
athrow
end local 3 11: StackMap locals: org.apache.tomcat.util.net.SSLUtilBase java.lang.String java.util.Collection
StackMap stack: java.io.IOException
astore 3
start local 3 12: aload 3
athrow
end local 3 13: StackMap locals:
StackMap stack: java.security.cert.CRLException
astore 3
start local 3 14: aload 3
athrow
end local 3 15: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 3
start local 3 16: aload 3
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/tomcat/util/net/SSLUtilBase;
0 18 1 crlf Ljava/lang/String;
1 18 2 crls Ljava/util/Collection<+Ljava/security/cert/CRL;>;
2 11 3 cf Ljava/security/cert/CertificateFactory;
4 7 6 is Ljava/io/InputStream;
12 13 3 iex Ljava/io/IOException;
14 15 3 crle Ljava/security/cert/CRLException;
16 17 3 ce Ljava/security/cert/CertificateException;
Exception table:
from to target type
4 5 6 any
3 8 8 any
1 11 11 Class java.io.IOException
1 11 13 Class java.security.cert.CRLException
1 11 15 Class java.security.cert.CertificateException
Exceptions:
throws java.io.IOException, java.security.cert.CRLException, java.security.cert.CertificateException
Signature: (Ljava/lang/String;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
crlf
protected abstract java.util.Set<java.lang.String> getImplementedProtocols();
descriptor: ()Ljava/util/Set;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
protected abstract java.util.Set<java.lang.String> getImplementedCiphers();
descriptor: ()Ljava/util/Set;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
protected abstract org.apache.juli.logging.Log getLog();
descriptor: ()Lorg/apache/juli/logging/Log;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract boolean isTls13RenegAuthAvailable();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract org.apache.tomcat.util.net.SSLContext createSSLContextInternal(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLContext;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (Ljava/util/List<Ljava/lang/String;>;)Lorg/apache/tomcat/util/net/SSLContext;
MethodParameters:
Name Flags
negotiableProtocols
}
SourceFile: "SSLUtilBase.java"
InnerClasses:
public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public Resource = org.apache.tomcat.util.file.ConfigurationSource$Resource of org.apache.tomcat.util.file.ConfigurationSource
public final CertificateVerification = org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification of org.apache.tomcat.util.net.SSLHostConfig