final class sun.security.ssl.X509Authentication$X509PossessionGenerator implements sun.security.ssl.SSLPossessionGenerator
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.X509Authentication$X509PossessionGenerator
super_class: java.lang.Object
{
private final java.lang.String[] keyTypes;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.X509Authentication$X509PossessionGenerator.keyTypes:[Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509Authentication$X509PossessionGenerator;
0 3 1 keyTypes [Ljava/lang/String;
MethodParameters:
Name Flags
keyTypes
public sun.security.ssl.SSLPossession createPossession(sun.security.ssl.HandshakeContext);
descriptor: (Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLPossession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ifeq 11
1: aload 0
getfield sun.security.ssl.X509Authentication$X509PossessionGenerator.keyTypes:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.HandshakeContext top int int java.lang.String[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 0
4: aload 1
checkcast sun.security.ssl.ClientHandshakeContext
aload 2
5: invokevirtual sun.security.ssl.X509Authentication$X509PossessionGenerator.createClientPossession:(Lsun/security/ssl/ClientHandshakeContext;Ljava/lang/String;)Lsun/security/ssl/SSLPossession;
astore 6
start local 6 6: aload 6
ifnull 8
7: aload 6
areturn
end local 6 end local 2 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 2
10: goto 20
11: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.HandshakeContext
StackMap stack:
aload 0
getfield sun.security.ssl.X509Authentication$X509PossessionGenerator.keyTypes:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 19
StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.HandshakeContext top int int java.lang.String[]
StackMap stack:
12: aload 5
iload 3
aaload
astore 2
start local 2 13: aload 0
14: aload 1
checkcast sun.security.ssl.ServerHandshakeContext
aload 2
15: invokevirtual sun.security.ssl.X509Authentication$X509PossessionGenerator.createServerPossession:(Lsun/security/ssl/ServerHandshakeContext;Ljava/lang/String;)Lsun/security/ssl/SSLPossession;
astore 6
start local 6 16: aload 6
ifnull 18
17: aload 6
areturn
end local 6 end local 2 18: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
iload 4
if_icmplt 12
20: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.HandshakeContext
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/ssl/X509Authentication$X509PossessionGenerator;
0 21 1 context Lsun/security/ssl/HandshakeContext;
3 8 2 keyType Ljava/lang/String;
6 8 6 poss Lsun/security/ssl/SSLPossession;
13 18 2 keyType Ljava/lang/String;
16 18 6 poss Lsun/security/ssl/SSLPossession;
MethodParameters:
Name Flags
context
private sun.security.ssl.SSLPossession createClientPossession(sun.security.ssl.ClientHandshakeContext, java.lang.String);
descriptor: (Lsun/security/ssl/ClientHandshakeContext;Ljava/lang/String;)Lsun/security/ssl/SSLPossession;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509KeyManager:()Ljavax/net/ssl/X509ExtendedKeyManager;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
instanceof sun.security.ssl.SSLSocketImpl
ifeq 10
3: aload 3
4: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
5: aload 1
getfield sun.security.ssl.ClientHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
ifnonnull 6
aconst_null
goto 7
6: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ClientHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String[]
aload 1
getfield sun.security.ssl.ClientHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal[].clone:()Ljava/lang/Object;
checkcast java.security.Principal[]
7: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ClientHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String[] java.security.Principal[]
aload 1
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
checkcast javax.net.ssl.SSLSocket
8: invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseClientAlias:([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
astore 4
9: goto 17
StackMap locals:
StackMap stack:
10: aload 1
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
instanceof sun.security.ssl.SSLEngineImpl
ifeq 17
11: aload 3
12: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
13: aload 1
getfield sun.security.ssl.ClientHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
ifnonnull 14
aconst_null
goto 15
14: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ClientHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String[]
aload 1
getfield sun.security.ssl.ClientHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal[].clone:()Ljava/lang/Object;
checkcast java.security.Principal[]
15: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ClientHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String[] java.security.Principal[]
aload 1
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
checkcast javax.net.ssl.SSLEngine
16: invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseEngineClientAlias:([Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
astore 4
17: StackMap locals:
StackMap stack:
aload 4
ifnonnull 21
18: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 20
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 20
19: new java.lang.StringBuilder
dup
ldc "No X.509 cert selected for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aconst_null
areturn
21: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
astore 5
start local 5 22: aload 5
ifnonnull 27
23: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 26
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 26
24: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a private key entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
25: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
26: StackMap locals: java.security.PrivateKey
StackMap stack:
aconst_null
areturn
27: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
astore 6
start local 6 28: aload 6
ifnull 29
aload 6
arraylength
ifne 34
29: StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 33
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 33
30: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: ldc " is a private key entry with no cert chain stored"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
33: StackMap locals:
StackMap stack:
aconst_null
areturn
34: StackMap locals:
StackMap stack:
aload 6
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 7
start local 7 35: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
36: aload 7
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
37: StackMap locals: java.security.PublicKey
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 42
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 42
38: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " private or public key is not of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " algorithm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
41: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
aconst_null
areturn
43: StackMap locals:
StackMap stack:
new sun.security.ssl.X509Authentication$X509Possession
dup
aload 5
aload 6
invokespecial sun.security.ssl.X509Authentication$X509Possession.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V
areturn
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 44 0 this Lsun/security/ssl/X509Authentication$X509PossessionGenerator;
0 44 1 chc Lsun/security/ssl/ClientHandshakeContext;
0 44 2 keyType Ljava/lang/String;
1 44 3 km Ljavax/net/ssl/X509ExtendedKeyManager;
2 44 4 clientAlias Ljava/lang/String;
22 44 5 clientPrivateKey Ljava/security/PrivateKey;
28 44 6 clientCerts [Ljava/security/cert/X509Certificate;
35 44 7 clientPublicKey Ljava/security/PublicKey;
MethodParameters:
Name Flags
chc
keyType
private sun.security.ssl.SSLPossession createServerPossession(sun.security.ssl.ServerHandshakeContext, java.lang.String);
descriptor: (Lsun/security/ssl/ServerHandshakeContext;Ljava/lang/String;)Lsun/security/ssl/SSLPossession;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509KeyManager:()Ljavax/net/ssl/X509ExtendedKeyManager;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
instanceof sun.security.ssl.SSLSocketImpl
ifeq 9
3: aload 3
aload 2
4: aload 1
getfield sun.security.ssl.ServerHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
ifnonnull 5
aconst_null
goto 6
5: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ServerHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String
aload 1
getfield sun.security.ssl.ServerHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal[].clone:()Ljava/lang/Object;
checkcast java.security.Principal[]
6: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ServerHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String java.security.Principal[]
aload 1
getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
checkcast javax.net.ssl.SSLSocket
7: invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
astore 4
8: goto 15
StackMap locals:
StackMap stack:
9: aload 1
getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
instanceof sun.security.ssl.SSLEngineImpl
ifeq 15
10: aload 3
aload 2
11: aload 1
getfield sun.security.ssl.ServerHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
ifnonnull 12
aconst_null
goto 13
12: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ServerHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String
aload 1
getfield sun.security.ssl.ServerHandshakeContext.peerSupportedAuthorities:[Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal[].clone:()Ljava/lang/Object;
checkcast java.security.Principal[]
13: StackMap locals: sun.security.ssl.X509Authentication$X509PossessionGenerator sun.security.ssl.ServerHandshakeContext java.lang.String javax.net.ssl.X509ExtendedKeyManager java.lang.String
StackMap stack: javax.net.ssl.X509ExtendedKeyManager java.lang.String java.security.Principal[]
aload 1
getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
checkcast javax.net.ssl.SSLEngine
14: invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
astore 4
15: StackMap locals:
StackMap stack:
aload 4
ifnonnull 19
16: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 18
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 18
17: new java.lang.StringBuilder
dup
ldc "No X.509 cert selected for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aconst_null
areturn
19: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
astore 5
start local 5 20: aload 5
ifnonnull 25
21: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 24
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 24
22: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a private key entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
23: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
24: StackMap locals: java.security.PrivateKey
StackMap stack:
aconst_null
areturn
25: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
astore 6
start local 6 26: aload 6
ifnull 27
aload 6
arraylength
ifne 31
27: StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 30
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 30
28: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a certificate entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
29: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
aconst_null
areturn
31: StackMap locals:
StackMap stack:
aload 6
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 7
start local 7 32: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
33: aload 7
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
34: StackMap locals: java.security.PublicKey
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 39
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 39
35: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " private or public key is not of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " algorithm"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
38: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
39: StackMap locals:
StackMap stack:
aconst_null
areturn
40: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 61
41: aload 2
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
42: aload 7
instanceof java.security.interfaces.ECPublicKey
ifne 48
43: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 47
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 47
44: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: ldc " public key is not an instance of ECPublicKey"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
47: StackMap locals:
StackMap stack:
aconst_null
areturn
48: StackMap locals:
StackMap stack:
aload 7
checkcast java.security.interfaces.ECPublicKey
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
49: astore 8
start local 8 50: aload 8
invokestatic sun.security.ssl.NamedGroup.valueOf:(Ljava/security/spec/ECParameterSpec;)Lsun/security/ssl/NamedGroup;
astore 9
start local 9 51: aload 9
ifnull 55
52: aload 9
invokestatic sun.security.ssl.SupportedGroupsExtension$SupportedGroups.isSupported:(Lsun/security/ssl/NamedGroup;)Z
ifeq 55
53: aload 1
getfield sun.security.ssl.ServerHandshakeContext.clientRequestedNamedGroups:Ljava/util/List;
ifnull 61
54: aload 1
getfield sun.security.ssl.ServerHandshakeContext.clientRequestedNamedGroups:Ljava/util/List;
aload 9
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 61
55: StackMap locals: java.security.spec.ECParameterSpec sun.security.ssl.NamedGroup
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 60
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 60
56: new java.lang.StringBuilder
dup
ldc "Unsupported named group ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
57: ldc ") used in the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " certificate"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
59: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
60: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 9 end local 8 61: StackMap locals:
StackMap stack:
new sun.security.ssl.X509Authentication$X509Possession
dup
aload 5
aload 6
invokespecial sun.security.ssl.X509Authentication$X509Possession.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V
areturn
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 62 0 this Lsun/security/ssl/X509Authentication$X509PossessionGenerator;
0 62 1 shc Lsun/security/ssl/ServerHandshakeContext;
0 62 2 keyType Ljava/lang/String;
1 62 3 km Ljavax/net/ssl/X509ExtendedKeyManager;
2 62 4 serverAlias Ljava/lang/String;
20 62 5 serverPrivateKey Ljava/security/PrivateKey;
26 62 6 serverCerts [Ljava/security/cert/X509Certificate;
32 62 7 serverPublicKey Ljava/security/PublicKey;
50 61 8 params Ljava/security/spec/ECParameterSpec;
51 61 9 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
shc
keyType
}
SourceFile: "X509Authentication.java"
NestHost: sun.security.ssl.X509Authentication
InnerClasses:
SupportedGroups = sun.security.ssl.SupportedGroupsExtension$SupportedGroups of sun.security.ssl.SupportedGroupsExtension
final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication
private final X509PossessionGenerator = sun.security.ssl.X509Authentication$X509PossessionGenerator of sun.security.ssl.X509Authentication