public class org.eclipse.jetty.util.ssl.SslContextFactory$Server extends org.eclipse.jetty.util.ssl.SslContextFactory implements org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager$SniSelector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.util.ssl.SslContextFactory$Server
super_class: org.eclipse.jetty.util.ssl.SslContextFactory
{
public static final java.lang.String SNI_HOST;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.eclipse.jetty.util.ssl.sniHost"
private boolean _needClientAuth;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean _wantClientAuth;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean _sniRequired;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager$SniSelector _sniSelector;
descriptor: Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;
flags: (0x0002) ACC_PRIVATE
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.eclipse.jetty.util.ssl.SslContextFactory.<init>:()V
1: aload 0
aconst_null
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
public boolean getNeedClientAuth();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.ssl.SslContextFactory$Server._needClientAuth:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedAttribute(value = "Whether client authentication is needed")
public void setNeedClientAuth(boolean);
descriptor: (Z)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.eclipse.jetty.util.ssl.SslContextFactory$Server._needClientAuth:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 2 1 needClientAuth Z
MethodParameters:
Name Flags
needClientAuth
public boolean getWantClientAuth();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.ssl.SslContextFactory$Server._wantClientAuth:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedAttribute(value = "Whether client authentication is wanted")
public void setWantClientAuth(boolean);
descriptor: (Z)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.eclipse.jetty.util.ssl.SslContextFactory$Server._wantClientAuth:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 2 1 wantClientAuth Z
MethodParameters:
Name Flags
wantClientAuth
public boolean isSniRequired();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.ssl.SslContextFactory$Server._sniRequired:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedAttribute(value = "Whether the TLS handshake is rejected if there is no SNI host match")
public void setSniRequired(boolean);
descriptor: (Z)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.eclipse.jetty.util.ssl.SslContextFactory$Server._sniRequired:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 2 1 sniRequired Z
MethodParameters:
Name Flags
sniRequired
protected javax.net.ssl.KeyManager[] getKeyManagers(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)[Ljavax/net/ssl/KeyManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers:(Ljava/security/KeyStore;)[Ljavax/net/ssl/KeyManager;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.isSniRequired:()Z
ifne 3
aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.wildCerts:()Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 3
aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.hostCerts:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iconst_1
if_icmpgt 3
aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.hostCerts:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iconst_1
if_icmpne 10
aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.aliasCerts:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iconst_1
if_icmple 10
3: StackMap locals: javax.net.ssl.KeyManager[] int
StackMap stack:
iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: int
StackMap stack:
aload 2
iload 4
aaload
instanceof javax.net.ssl.X509ExtendedKeyManager
ifeq 8
6: aload 2
iload 4
aload 0
aload 2
iload 4
aaload
checkcast javax.net.ssl.X509ExtendedKeyManager
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.newSniX509ExtendedKeyManager:(Ljavax/net/ssl/X509ExtendedKeyManager;)Ljavax/net/ssl/X509ExtendedKeyManager;
aastore
7: iconst_1
istore 3
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 2
arraylength
if_icmplt 5
end local 4 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.isSniRequired:()Z
ifeq 13
11: aload 2
ifnull 12
iload 3
ifne 13
12: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "No SNI Key managers when SNI is required"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 14 1 keyStore Ljava/security/KeyStore;
1 14 2 managers [Ljavax/net/ssl/KeyManager;
2 14 3 hasSniX509ExtendedKeyManager Z
4 10 4 idx I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
keyStore
public org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager$SniSelector getSNISelector();
descriptor: ()Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.ssl.SslContextFactory$Server._sniSelector:Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
public void setSNISelector(org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager$SniSelector);
descriptor: (Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;)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.eclipse.jetty.util.ssl.SslContextFactory$Server._sniSelector:Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 2 1 sniSelector Lorg/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager$SniSelector;
MethodParameters:
Name Flags
sniSelector
public java.lang.String sniSelect(java.lang.String, java.security.Principal[], javax.net.ssl.SSLSession, java.lang.String, java.util.Collection<org.eclipse.jetty.util.ssl.X509>);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLSession;Ljava/lang/String;Ljava/util/Collection;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnonnull 4
1: aload 0
invokevirtual org.eclipse.jetty.util.ssl.SslContextFactory$Server.isSniRequired:()Z
ifeq 2
aconst_null
goto 3
StackMap locals:
StackMap stack:
2: ldc "delegate_no_sni_match"
StackMap locals:
StackMap stack: java.lang.String
3: areturn
4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
5: aload 4
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jetty/util/ssl/SslContextFactory$Server.lambda$0(Ljava/lang/String;Lorg/eclipse/jetty/util/ssl/X509;)Z (6)
(Lorg/eclipse/jetty/util/ssl/X509;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
7: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/eclipse/jetty/util/ssl/X509.getAlias()Ljava/lang/String; (5)
(Lorg/eclipse/jetty/util/ssl/X509;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
8: aload 0
getfield org.eclipse.jetty.util.ssl.SslContextFactory$Server._sniRequired:Z
ifeq 9
aconst_null
goto 10
StackMap locals:
StackMap stack: java.util.Optional
9: ldc "delegate_no_sni_match"
StackMap locals: org.eclipse.jetty.util.ssl.SslContextFactory$Server java.lang.String java.security.Principal[] javax.net.ssl.SSLSession java.lang.String java.util.Collection
StackMap stack: java.util.Optional java.lang.String
10: invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
11: 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 12 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 12 1 keyType Ljava/lang/String;
0 12 2 issuers [Ljava/security/Principal;
0 12 3 session Ljavax/net/ssl/SSLSession;
0 12 4 sniHost Ljava/lang/String;
0 12 5 certificates Ljava/util/Collection<Lorg/eclipse/jetty/util/ssl/X509;>;
Exceptions:
throws javax.net.ssl.SSLHandshakeException
Signature: (Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLSession;Ljava/lang/String;Ljava/util/Collection<Lorg/eclipse/jetty/util/ssl/X509;>;)Ljava/lang/String;
MethodParameters:
Name Flags
keyType
issuers
session
sniHost
certificates
protected javax.net.ssl.X509ExtendedKeyManager newSniX509ExtendedKeyManager(javax.net.ssl.X509ExtendedKeyManager);
descriptor: (Ljavax/net/ssl/X509ExtendedKeyManager;)Ljavax/net/ssl/X509ExtendedKeyManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager
dup
aload 1
aload 0
invokespecial org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager.<init>:(Ljavax/net/ssl/X509ExtendedKeyManager;Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/ssl/SslContextFactory$Server;
0 1 1 keyManager Ljavax/net/ssl/X509ExtendedKeyManager;
MethodParameters:
Name Flags
keyManager
private static boolean lambda$0(java.lang.String, org.eclipse.jetty.util.ssl.X509);
descriptor: (Ljava/lang/String;Lorg/eclipse/jetty/util/ssl/X509;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual org.eclipse.jetty.util.ssl.X509.matches:(Ljava/lang/String;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 x509 Lorg/eclipse/jetty/util/ssl/X509;
}
SourceFile: "SslContextFactory.java"
NestHost: org.eclipse.jetty.util.ssl.SslContextFactory
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract SniSelector = org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager$SniSelector of org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager
public Server = org.eclipse.jetty.util.ssl.SslContextFactory$Server of org.eclipse.jetty.util.ssl.SslContextFactory
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedObject()