public abstract class org.apache.tomcat.util.net.AbstractJsseEndpoint<S, U> extends org.apache.tomcat.util.net.AbstractEndpoint<S, U>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.tomcat.util.net.AbstractJsseEndpoint
super_class: org.apache.tomcat.util.net.AbstractEndpoint
{
private java.lang.String sslImplementationName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int sniParseLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.net.SSLImplementation sslImplementation;
descriptor: Lorg/apache/tomcat/util/net/SSLImplementation;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$apache$tomcat$util$net$SSLHostConfig$CertificateVerification;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.tomcat.util.net.AbstractEndpoint.<init>:()V
1: aload 0
aconst_null
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementationName:Ljava/lang/String;
2: aload 0
ldc 65536
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sniParseLimit:I
3: aload 0
aconst_null
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementation:Lorg/apache/tomcat/util/net/SSLImplementation;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
public java.lang.String getSslImplementationName();
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.AbstractJsseEndpoint.sslImplementationName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
public void setSslImplementationName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementationName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public org.apache.tomcat.util.net.SSLImplementation getSslImplementation();
descriptor: ()Lorg/apache/tomcat/util/net/SSLImplementation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementation:Lorg/apache/tomcat/util/net/SSLImplementation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
public int getSniParseLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sniParseLimit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
public void setSniParseLimit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sniParseLimit:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
0 2 1 sniParseLimit I
MethodParameters:
Name Flags
sniParseLimit
protected void initialiseSsl();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.isSSLEnabled:()Z
ifeq 10
1: aload 0
aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getSslImplementationName:()Ljava/lang/String;
invokestatic org.apache.tomcat.util.net.SSLImplementation.getInstance:(Ljava/lang/String;)Lorg/apache/tomcat/util/net/SSLImplementation;
putfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementation:Lorg/apache/tomcat/util/net/SSLImplementation;
2: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslHostConfigs:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfig
astore 1
start local 1 4: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext:(Lorg/apache/tomcat/util/net/SSLHostConfig;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslHostConfigs:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getDefaultSSLHostConfigName:()Ljava/lang/String;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 10
7: new java.lang.IllegalArgumentException
dup
getstatic org.apache.tomcat.util.net.AbstractJsseEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.noSslHostConfig"
iconst_2
anewarray java.lang.Object
dup
iconst_0
8: aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getDefaultSSLHostConfigName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getName:()Ljava/lang/String;
aastore
9: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
4 5 1 sslHostConfig Lorg/apache/tomcat/util/net/SSLHostConfig;
Exceptions:
throws java.lang.Exception
protected void createSSLContext(org.apache.tomcat.util.net.SSLHostConfig);
descriptor: (Lorg/apache/tomcat/util/net/SSLHostConfig;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: aload 1
iconst_1
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificates:(Z)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfigCertificate
astore 3
start local 3 3: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslImplementation:Lorg/apache/tomcat/util/net/SSLImplementation;
aload 3
invokevirtual org.apache.tomcat.util.net.SSLImplementation.getSSLUtil:(Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;)Lorg/apache/tomcat/util/net/SSLUtil;
astore 5
start local 5 4: iload 2
ifeq 8
5: iconst_0
istore 2
6: aload 1
aload 5
invokeinterface org.apache.tomcat.util.net.SSLUtil.getEnabledProtocols:()[Ljava/lang/String;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.setEnabledProtocols:([Ljava/lang/String;)V
7: aload 1
aload 5
invokeinterface org.apache.tomcat.util.net.SSLUtil.getEnabledCiphers:()[Ljava/lang/String;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.setEnabledCiphers:([Ljava/lang/String;)V
8: StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig int org.apache.tomcat.util.net.SSLHostConfigCertificate java.util.Iterator org.apache.tomcat.util.net.SSLUtil
StackMap stack:
aload 5
aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.negotiableProtocols:Ljava/util/List;
invokeinterface org.apache.tomcat.util.net.SSLUtil.createSSLContext:(Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLContext;
astore 6
start local 6 9: goto 12
end local 6 StackMap locals:
StackMap stack: java.lang.Exception
10: astore 7
start local 7 11: new java.lang.IllegalArgumentException
dup
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 start local 6 12: StackMap locals: org.apache.tomcat.util.net.SSLContext
StackMap stack:
aload 3
aload 6
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.setSslContext:(Lorg/apache/tomcat/util/net/SSLContext;)V
end local 6 end local 5 end local 3 13: StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
0 15 1 sslHostConfig Lorg/apache/tomcat/util/net/SSLHostConfig;
1 15 2 firstCertificate Z
3 13 3 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
4 13 5 sslUtil Lorg/apache/tomcat/util/net/SSLUtil;
9 10 6 sslContext Lorg/apache/tomcat/util/net/SSLContext;
12 13 6 sslContext Lorg/apache/tomcat/util/net/SSLContext;
11 12 7 e Ljava/lang/Exception;
Exception table:
from to target type
8 9 10 Class java.lang.Exception
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
sslHostConfig
protected javax.net.ssl.SSLEngine createSSLEngine(java.lang.String, java.util.List<org.apache.tomcat.util.net.openssl.ciphers.Cipher>, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Ljavax/net/ssl/SSLEngine;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getSSLHostConfig:(Ljava/lang/String;)Lorg/apache/tomcat/util/net/SSLHostConfig;
astore 4
start local 4 1: aload 0
aload 4
aload 2
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.selectCertificate:(Lorg/apache/tomcat/util/net/SSLHostConfig;Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
astore 5
start local 5 2: aload 5
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getSslContext:()Lorg/apache/tomcat/util/net/SSLContext;
astore 6
start local 6 3: aload 6
ifnonnull 7
4: new java.lang.IllegalStateException
dup
5: getstatic org.apache.tomcat.util.net.AbstractJsseEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.jsse.noSslContext"
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;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: org.apache.tomcat.util.net.SSLHostConfig org.apache.tomcat.util.net.SSLHostConfigCertificate org.apache.tomcat.util.net.SSLContext
StackMap stack:
aload 6
invokeinterface org.apache.tomcat.util.net.SSLContext.createSSLEngine:()Ljavax/net/ssl/SSLEngine;
astore 7
start local 7 8: invokestatic org.apache.tomcat.util.net.AbstractJsseEndpoint.$SWITCH_TABLE$org$apache$tomcat$util$net$SSLHostConfig$CertificateVerification:()[I
aload 4
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificateVerification:()Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 9
2: 12
3: 12
4: 14
default: 15
}
9: StackMap locals: javax.net.ssl.SSLEngine
StackMap stack:
aload 7
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
10: aload 7
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
11: goto 15
12: StackMap locals:
StackMap stack:
aload 7
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 7
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
15: StackMap locals:
StackMap stack:
aload 7
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setUseClientMode:(Z)V
16: aload 7
aload 4
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getEnabledCiphers:()[Ljava/lang/String;
invokevirtual javax.net.ssl.SSLEngine.setEnabledCipherSuites:([Ljava/lang/String;)V
17: aload 7
aload 4
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getEnabledProtocols:()[Ljava/lang/String;
invokevirtual javax.net.ssl.SSLEngine.setEnabledProtocols:([Ljava/lang/String;)V
18: aload 7
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 8
start local 8 19: aload 8
aload 4
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getHonorCipherOrder:()Z
invokevirtual javax.net.ssl.SSLParameters.setUseCipherSuitesOrder:(Z)V
20: invokestatic org.apache.tomcat.util.compat.JreCompat.isJre9Available:()Z
ifeq 29
aload 3
ifnull 29
21: aload 3
invokeinterface java.util.List.size:()I
ifle 29
22: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.negotiableProtocols:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 29
23: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 24: aload 9
aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.negotiableProtocols:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
25: aload 9
aload 3
invokeinterface java.util.List.retainAll:(Ljava/util/Collection;)Z
pop
26: aload 9
invokeinterface java.util.List.size:()I
ifle 29
27: aload 9
aload 9
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[]
astore 10
start local 10 28: invokestatic org.apache.tomcat.util.compat.JreCompat.getInstance:()Lorg/apache/tomcat/util/compat/JreCompat;
aload 8
aload 10
invokevirtual org.apache.tomcat.util.compat.JreCompat.setApplicationProtocols:(Ljavax/net/ssl/SSLParameters;[Ljava/lang/String;)V
end local 10 end local 9 29: StackMap locals: javax.net.ssl.SSLParameters
StackMap stack:
aload 7
aload 8
invokevirtual javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
30: aload 7
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 31 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
0 31 1 sniHostName Ljava/lang/String;
0 31 2 clientRequestedCiphers Ljava/util/List<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;
0 31 3 clientRequestedApplicationProtocols Ljava/util/List<Ljava/lang/String;>;
1 31 4 sslHostConfig Lorg/apache/tomcat/util/net/SSLHostConfig;
2 31 5 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
3 31 6 sslContext Lorg/apache/tomcat/util/net/SSLContext;
8 31 7 engine Ljavax/net/ssl/SSLEngine;
19 31 8 sslParameters Ljavax/net/ssl/SSLParameters;
24 29 9 commonProtocols Ljava/util/List<Ljava/lang/String;>;
28 29 10 commonProtocolsArray [Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/util/List<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;Ljava/util/List<Ljava/lang/String;>;)Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
sniHostName
clientRequestedCiphers
clientRequestedApplicationProtocols
private org.apache.tomcat.util.net.SSLHostConfigCertificate selectCertificate(org.apache.tomcat.util.net.SSLHostConfig, java.util.List<org.apache.tomcat.util.net.openssl.ciphers.Cipher>);
descriptor: (Lorg/apache/tomcat/util/net/SSLHostConfig;Ljava/util/List;)Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificates:(Z)Ljava/util/Set;
astore 3
start local 3 1: aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 3
2: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfigCertificate
areturn
3: StackMap locals: java.util.Set
StackMap stack:
aload 1
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCipherList:()Ljava/util/LinkedHashSet;
astore 4
start local 4 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 5: aload 1
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getHonorCipherOrder:()Z
ifeq 9
6: aload 5
aload 4
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
7: aload 5
aload 2
invokeinterface java.util.List.retainAll:(Ljava/util/Collection;)Z
pop
8: goto 11
9: StackMap locals: java.util.LinkedHashSet java.util.List
StackMap stack:
aload 5
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
10: aload 5
aload 4
invokeinterface java.util.List.retainAll:(Ljava/util/Collection;)Z
pop
11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 18
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig java.util.List java.util.Set java.util.LinkedHashSet java.util.List top java.util.Iterator
StackMap stack:
12: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.openssl.ciphers.Cipher
astore 6
start local 6 13: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig java.util.List java.util.Set java.util.LinkedHashSet java.util.List org.apache.tomcat.util.net.openssl.ciphers.Cipher java.util.Iterator top java.util.Iterator
StackMap stack:
14: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfigCertificate
astore 8
start local 8 15: aload 8
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.getType:()Lorg/apache/tomcat/util/net/SSLHostConfigCertificate$Type;
aload 6
invokevirtual org.apache.tomcat.util.net.openssl.ciphers.Cipher.getAu:()Lorg/apache/tomcat/util/net/openssl/ciphers/Authentication;
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate$Type.isCompatibleWith:(Lorg/apache/tomcat/util/net/openssl/ciphers/Authentication;)Z
ifeq 17
16: aload 8
areturn
end local 8 17: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 6 18: StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig java.util.List java.util.Set java.util.LinkedHashSet java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
19: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfigCertificate
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 20 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
0 20 1 sslHostConfig Lorg/apache/tomcat/util/net/SSLHostConfig;
0 20 2 clientCiphers Ljava/util/List<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;
1 20 3 certificates Ljava/util/Set<Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;>;
4 20 4 serverCiphers Ljava/util/LinkedHashSet<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;
5 20 5 candidateCiphers Ljava/util/List<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;
13 18 6 candidate Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;
15 17 8 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
Signature: (Lorg/apache/tomcat/util/net/SSLHostConfig;Ljava/util/List<Lorg/apache/tomcat/util/net/openssl/ciphers/Cipher;>;)Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
MethodParameters:
Name Flags
sslHostConfig
clientCiphers
public boolean isAlpnSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.isSSLEnabled:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getSslImplementationName:()Ljava/lang/String;
invokestatic org.apache.tomcat.util.net.SSLImplementation.getInstance:(Ljava/lang/String;)Lorg/apache/tomcat/util/net/SSLImplementation;
astore 1
start local 1 3: goto 6
end local 1 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
4: pop
5: iconst_0
ireturn
start local 1 6: StackMap locals: org.apache.tomcat.util.net.SSLImplementation
StackMap stack:
aload 1
invokevirtual org.apache.tomcat.util.net.SSLImplementation.isAlpnSupported:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
3 4 1 sslImplementation Lorg/apache/tomcat/util/net/SSLImplementation;
6 7 1 sslImplementation Lorg/apache/tomcat/util/net/SSLImplementation;
Exception table:
from to target type
2 3 4 Class java.lang.ClassNotFoundException
public void unbind();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.AbstractJsseEndpoint.sslHostConfigs:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfig
astore 1
start local 1 2: aload 1
iconst_1
invokevirtual org.apache.tomcat.util.net.SSLHostConfig.getCertificates:(Z)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint org.apache.tomcat.util.net.SSLHostConfig java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.SSLHostConfigCertificate
astore 3
start local 3 4: aload 3
aconst_null
invokevirtual org.apache.tomcat.util.net.SSLHostConfigCertificate.setSslContext:(Lorg/apache/tomcat/util/net/SSLContext;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 1 6: StackMap locals: org.apache.tomcat.util.net.AbstractJsseEndpoint top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
2 6 1 sslHostConfig Lorg/apache/tomcat/util/net/SSLHostConfig;
4 5 3 certificate Lorg/apache/tomcat/util/net/SSLHostConfigCertificate;
Exceptions:
throws java.lang.Exception
protected abstract java.nio.channels.NetworkChannel getServerSocket();
descriptor: ()Ljava/nio/channels/NetworkChannel;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected final java.net.InetSocketAddress getLocalAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.AbstractJsseEndpoint.getServerSocket:()Ljava/nio/channels/NetworkChannel;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.nio.channels.NetworkChannel
StackMap stack:
aload 1
invokeinterface java.nio.channels.NetworkChannel.getLocalAddress:()Ljava/net/SocketAddress;
astore 2
start local 2 4: aload 2
instanceof java.net.InetSocketAddress
ifeq 6
5: aload 2
checkcast java.net.InetSocketAddress
areturn
6: StackMap locals: java.net.SocketAddress
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<TS;TU;>;
1 7 1 serverSock Ljava/nio/channels/NetworkChannel;
4 7 2 sa Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
static int[] $SWITCH_TABLE$org$apache$tomcat$util$net$SSLHostConfig$CertificateVerification();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.tomcat.util.net.AbstractJsseEndpoint.$SWITCH_TABLE$org$apache$tomcat$util$net$SSLHostConfig$CertificateVerification:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.values:()[Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.NONE:Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.OPTIONAL:Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.OPTIONAL_NO_CA:Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.REQUIRED:Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
invokevirtual org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.apache.tomcat.util.net.AbstractJsseEndpoint.$SWITCH_TABLE$org$apache$tomcat$util$net$SSLHostConfig$CertificateVerification:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
Signature: <S:Ljava/lang/Object;U:Ljava/lang/Object;>Lorg/apache/tomcat/util/net/AbstractEndpoint<TS;TU;>;
SourceFile: "AbstractJsseEndpoint.java"
InnerClasses:
public final CertificateVerification = org.apache.tomcat.util.net.SSLHostConfig$CertificateVerification of org.apache.tomcat.util.net.SSLHostConfig
public final Type = org.apache.tomcat.util.net.SSLHostConfigCertificate$Type of org.apache.tomcat.util.net.SSLHostConfigCertificate