final class sun.security.ssl.X509KeyManagerImpl extends javax.net.ssl.X509ExtendedKeyManager implements javax.net.ssl.X509KeyManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.X509KeyManagerImpl
super_class: javax.net.ssl.X509ExtendedKeyManager
{
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean useDebug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.util.Date verificationDate;
descriptor: Ljava/util/Date;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final java.util.List<java.security.KeyStore$Builder> builders;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/security/KeyStore$Builder;>;
private final java.util.concurrent.atomic.AtomicLong uidCounter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.ref.Reference<java.security.KeyStore$PrivateKeyEntry>> entryCacheMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/Reference<Ljava/security/KeyStore$PrivateKeyEntry;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
1: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ifnull 3
ldc "keymanager"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: putstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.KeyStore$Builder);
descriptor: (Ljava/security/KeyStore$Builder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokespecial sun.security.ssl.X509KeyManagerImpl.<init>:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 2 1 builder Ljava/security/KeyStore$Builder;
MethodParameters:
Name Flags
builder
void <init>(java.util.List<java.security.KeyStore$Builder>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javax.net.ssl.X509ExtendedKeyManager.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield sun.security.ssl.X509KeyManagerImpl.uidCounter:Ljava/util/concurrent/atomic/AtomicLong;
3: aload 0
4: new sun.security.ssl.X509KeyManagerImpl$SizedMap
dup
invokespecial sun.security.ssl.X509KeyManagerImpl$SizedMap.<init>:()V
5: invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield sun.security.ssl.X509KeyManagerImpl.entryCacheMap:Ljava/util/Map;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 7 1 builders Ljava/util/List<Ljava/security/KeyStore$Builder;>;
Signature: (Ljava/util/List<Ljava/security/KeyStore$Builder;>;)V
MethodParameters:
Name Flags
builders
public java.security.cert.X509Certificate[] getCertificateChain(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.ssl.X509KeyManagerImpl.getEntry:(Ljava/lang/String;)Ljava/security/KeyStore$PrivateKeyEntry;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
2: StackMap locals: java.security.KeyStore$PrivateKeyEntry
StackMap stack:
aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate[]
3: StackMap locals:
StackMap stack: java.security.cert.X509Certificate[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 4 1 alias Ljava/lang/String;
1 4 2 entry Ljava/security/KeyStore$PrivateKeyEntry;
MethodParameters:
Name Flags
alias
public java.security.PrivateKey getPrivateKey(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/PrivateKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.ssl.X509KeyManagerImpl.getEntry:(Ljava/lang/String;)Ljava/security/KeyStore$PrivateKeyEntry;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.security.KeyStore$PrivateKeyEntry
StackMap stack:
2: aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
StackMap locals:
StackMap stack: java.security.PrivateKey
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 4 1 alias Ljava/lang/String;
1 4 2 entry Ljava/security/KeyStore$PrivateKeyEntry;
MethodParameters:
Name Flags
alias
public java.lang.String chooseClientAlias(java.lang.String[], java.security.Principal[], java.net.Socket);
descriptor: ([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic sun.security.ssl.X509KeyManagerImpl.getKeyTypes:([Ljava/lang/String;)Ljava/util/List;
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.CLIENT:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
1: aload 0
aload 3
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAlgorithmConstraints:(Ljava/net/Socket;)Ljava/security/AlgorithmConstraints;
2: invokevirtual sun.security.ssl.X509KeyManagerImpl.chooseAlias:(Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 3 1 keyTypes [Ljava/lang/String;
0 3 2 issuers [Ljava/security/Principal;
0 3 3 socket Ljava/net/Socket;
MethodParameters:
Name Flags
keyTypes
issuers
socket
public java.lang.String chooseEngineClientAlias(java.lang.String[], java.security.Principal[], javax.net.ssl.SSLEngine);
descriptor: ([Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic sun.security.ssl.X509KeyManagerImpl.getKeyTypes:([Ljava/lang/String;)Ljava/util/List;
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.CLIENT:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
1: aload 0
aload 3
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAlgorithmConstraints:(Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
2: invokevirtual sun.security.ssl.X509KeyManagerImpl.chooseAlias:(Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 3 1 keyTypes [Ljava/lang/String;
0 3 2 issuers [Ljava/security/Principal;
0 3 3 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
keyTypes
issuers
engine
public java.lang.String chooseServerAlias(java.lang.String, java.security.Principal[], java.net.Socket);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.X509KeyManagerImpl.getKeyTypes:([Ljava/lang/String;)Ljava/util/List;
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.SERVER:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
1: aload 0
aload 3
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAlgorithmConstraints:(Ljava/net/Socket;)Ljava/security/AlgorithmConstraints;
2: aload 3
invokestatic sun.security.ssl.X509TrustManagerImpl.getRequestedServerNames:(Ljava/net/Socket;)Ljava/util/List;
3: ldc "HTTPS"
4: invokevirtual sun.security.ssl.X509KeyManagerImpl.chooseAlias:(Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 5 1 keyType Ljava/lang/String;
0 5 2 issuers [Ljava/security/Principal;
0 5 3 socket Ljava/net/Socket;
MethodParameters:
Name Flags
keyType
issuers
socket
public java.lang.String chooseEngineServerAlias(java.lang.String, java.security.Principal[], javax.net.ssl.SSLEngine);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.X509KeyManagerImpl.getKeyTypes:([Ljava/lang/String;)Ljava/util/List;
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.SERVER:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
1: aload 0
aload 3
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAlgorithmConstraints:(Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
2: aload 3
invokestatic sun.security.ssl.X509TrustManagerImpl.getRequestedServerNames:(Ljavax/net/ssl/SSLEngine;)Ljava/util/List;
3: ldc "HTTPS"
4: invokevirtual sun.security.ssl.X509KeyManagerImpl.chooseAlias:(Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 5 1 keyType Ljava/lang/String;
0 5 2 issuers [Ljava/security/Principal;
0 5 3 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
keyType
issuers
engine
public java.lang.String[] getClientAliases(java.lang.String, java.security.Principal[]);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.CLIENT:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
aconst_null
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(Ljava/lang/String;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)[Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 1 1 keyType Ljava/lang/String;
0 1 2 issuers [Ljava/security/Principal;
MethodParameters:
Name Flags
keyType
issuers
public java.lang.String[] getServerAliases(java.lang.String, java.security.Principal[]);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic sun.security.ssl.X509KeyManagerImpl$CheckType.SERVER:Lsun/security/ssl/X509KeyManagerImpl$CheckType;
aconst_null
invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(Ljava/lang/String;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)[Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 1 1 keyType Ljava/lang/String;
0 1 2 issuers [Ljava/security/Principal;
MethodParameters:
Name Flags
keyType
issuers
private java.security.AlgorithmConstraints getAlgorithmConstraints(java.net.Socket);
descriptor: (Ljava/net/Socket;)Ljava/security/AlgorithmConstraints;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 18
aload 1
invokevirtual java.net.Socket.isConnected:()Z
ifeq 18
1: aload 1
instanceof javax.net.ssl.SSLSocket
ifeq 18
2: aload 1
checkcast javax.net.ssl.SSLSocket
astore 2
start local 2 3: aload 2
invokevirtual javax.net.ssl.SSLSocket.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 3
start local 3 4: aload 3
ifnull 17
5: aload 3
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(Ljava/lang/String;)Lsun/security/ssl/ProtocolVersion;
6: astore 4
start local 4 7: aload 4
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 17
8: aconst_null
astore 5
start local 5 9: aload 3
instanceof javax.net.ssl.ExtendedSSLSession
ifeq 14
10: aload 3
checkcast javax.net.ssl.ExtendedSSLSession
11: astore 6
start local 6 12: aload 6
invokevirtual javax.net.ssl.ExtendedSSLSession.getPeerSupportedSignatureAlgorithms:()[Ljava/lang/String;
13: astore 5
end local 6 14: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.net.Socket javax.net.ssl.SSLSocket javax.net.ssl.SSLSession sun.security.ssl.ProtocolVersion java.lang.String[]
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
15: aload 2
aload 5
iconst_1
16: invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;[Ljava/lang/String;Z)V
areturn
end local 5 end local 4 17: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 2
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;Z)V
areturn
end local 3 end local 2 18: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aconst_null
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 19 1 socket Ljava/net/Socket;
3 18 2 sslSocket Ljavax/net/ssl/SSLSocket;
4 18 3 session Ljavax/net/ssl/SSLSession;
7 17 4 protocolVersion Lsun/security/ssl/ProtocolVersion;
9 17 5 peerSupportedSignAlgs [Ljava/lang/String;
12 14 6 extSession Ljavax/net/ssl/ExtendedSSLSession;
MethodParameters:
Name Flags
socket
private java.security.AlgorithmConstraints getAlgorithmConstraints(javax.net.ssl.SSLEngine);
descriptor: (Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 15
1: aload 1
invokevirtual javax.net.ssl.SSLEngine.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 2
start local 2 2: aload 2
ifnull 15
3: aload 2
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(Ljava/lang/String;)Lsun/security/ssl/ProtocolVersion;
4: astore 3
start local 3 5: aload 3
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 15
6: aconst_null
astore 4
start local 4 7: aload 2
instanceof javax.net.ssl.ExtendedSSLSession
ifeq 12
8: aload 2
checkcast javax.net.ssl.ExtendedSSLSession
9: astore 5
start local 5 10: aload 5
invokevirtual javax.net.ssl.ExtendedSSLSession.getPeerSupportedSignatureAlgorithms:()[Ljava/lang/String;
11: astore 4
end local 5 12: StackMap locals: javax.net.ssl.SSLSession sun.security.ssl.ProtocolVersion java.lang.String[]
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
13: aload 1
aload 4
iconst_1
14: invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLEngine;[Ljava/lang/String;Z)V
areturn
end local 4 end local 3 end local 2 15: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 1
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLEngine;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 16 1 engine Ljavax/net/ssl/SSLEngine;
2 15 2 session Ljavax/net/ssl/SSLSession;
5 15 3 protocolVersion Lsun/security/ssl/ProtocolVersion;
7 15 4 peerSupportedSignAlgs [Ljava/lang/String;
10 12 5 extSession Ljavax/net/ssl/ExtendedSSLSession;
MethodParameters:
Name Flags
engine
private java.lang.String makeAlias(sun.security.ssl.X509KeyManagerImpl$EntryStatus);
descriptor: (Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
getfield sun.security.ssl.X509KeyManagerImpl.uidCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield sun.security.ssl.X509KeyManagerImpl$EntryStatus.builderIndex:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 1
getfield sun.security.ssl.X509KeyManagerImpl$EntryStatus.alias:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 3 1 entry Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;
MethodParameters:
Name Flags
entry
private java.security.KeyStore$PrivateKeyEntry getEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/KeyStore$PrivateKeyEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.X509KeyManagerImpl.entryCacheMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast java.security.KeyStore$PrivateKeyEntry
goto 5
StackMap locals: java.lang.ref.Reference
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.security.KeyStore$PrivateKeyEntry
5: astore 3
start local 3 6: aload 3
ifnull 8
7: aload 3
areturn
8: StackMap locals: java.security.KeyStore$PrivateKeyEntry
StackMap stack:
aload 1
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 9: aload 1
bipush 46
iload 4
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 10: iload 4
iconst_m1
if_icmpeq 11
iload 5
iload 4
if_icmpne 12
11: StackMap locals: int int
StackMap stack:
aconst_null
areturn
12: StackMap locals:
StackMap stack:
aload 1
iload 4
iconst_1
iadd
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
13: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 14: aload 1
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 7
start local 7 15: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.KeyStore$Builder
astore 8
start local 8 16: aload 8
invokevirtual java.security.KeyStore$Builder.getKeyStore:()Ljava/security/KeyStore;
astore 9
start local 9 17: aload 9
18: aload 7
aload 8
aload 1
invokevirtual java.security.KeyStore$Builder.getProtectionParameter:(Ljava/lang/String;)Ljava/security/KeyStore$ProtectionParameter;
19: invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 10
start local 10 20: aload 10
instanceof java.security.KeyStore$PrivateKeyEntry
ifne 22
21: aconst_null
areturn
22: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.lang.String java.lang.ref.Reference java.security.KeyStore$PrivateKeyEntry int int int java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.security.KeyStore$Entry
StackMap stack:
aload 10
checkcast java.security.KeyStore$PrivateKeyEntry
astore 3
23: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.entryCacheMap:Ljava/util/Map;
aload 1
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: aload 3
25: areturn
end local 10 end local 9 end local 8 end local 7 end local 6 26: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.lang.String java.lang.ref.Reference java.security.KeyStore$PrivateKeyEntry int int
StackMap stack: java.lang.Exception
pop
27: aconst_null
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 28 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 28 1 alias Ljava/lang/String;
3 28 2 ref Ljava/lang/ref/Reference<Ljava/security/KeyStore$PrivateKeyEntry;>;
6 28 3 entry Ljava/security/KeyStore$PrivateKeyEntry;
9 28 4 firstDot I
10 28 5 secondDot I
14 26 6 builderIndex I
15 26 7 keyStoreAlias Ljava/lang/String;
16 26 8 builder Ljava/security/KeyStore$Builder;
17 26 9 ks Ljava/security/KeyStore;
20 26 10 newEntry Ljava/security/KeyStore$Entry;
Exception table:
from to target type
12 21 26 Class java.lang.Exception
22 25 26 Class java.lang.Exception
MethodParameters:
Name Flags
alias
private static java.util.List<sun.security.ssl.X509KeyManagerImpl$KeyType> getKeyTypes(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/util/List;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
ifnull 2
1: aload 0
arraylength
ifeq 2
aload 0
iconst_0
aaload
ifnonnull 3
2: StackMap locals:
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 4: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: java.lang.String[] java.util.List top int int java.lang.String[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 1
new sun.security.ssl.X509KeyManagerImpl$KeyType
dup
aload 2
invokespecial sun.security.ssl.X509KeyManagerImpl$KeyType.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 5
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 keyTypes [Ljava/lang/String;
4 10 1 list Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
6 7 2 keyType Ljava/lang/String;
Signature: ([Ljava/lang/String;)Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
MethodParameters:
Name Flags
keyTypes
private java.lang.String chooseAlias(java.util.List<sun.security.ssl.X509KeyManagerImpl$KeyType>, java.security.Principal[], sun.security.ssl.X509KeyManagerImpl$CheckType, java.security.AlgorithmConstraints);
descriptor: (Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
1: aload 3
aload 4
aconst_null
aconst_null
2: invokevirtual sun.security.ssl.X509KeyManagerImpl.chooseAlias:(Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 3 1 keyTypeList Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
0 3 2 issuers [Ljava/security/Principal;
0 3 3 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 3 4 constraints Ljava/security/AlgorithmConstraints;
Signature: (Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/lang/String;
MethodParameters:
Name Flags
keyTypeList
issuers
checkType
constraints
private java.lang.String chooseAlias(java.util.List<sun.security.ssl.X509KeyManagerImpl$KeyType>, java.security.Principal[], sun.security.ssl.X509KeyManagerImpl$CheckType, java.security.AlgorithmConstraints, java.util.List<javax.net.ssl.SNIServerName>, java.lang.String);
descriptor: (Ljava/util/List;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
ifnull 1
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.ssl.X509KeyManagerImpl.getIssuerSet:([Ljava/security/Principal;)Ljava/util/Set;
astore 7
start local 7 3: aconst_null
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 10
start local 10 6: goto 24
7: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.util.List java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.util.Set java.util.List int int
StackMap stack:
aload 0
iload 9
aload 1
8: aload 7
iconst_0
aload 3
aload 4
9: aload 5
aload 6
10: invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
astore 11
start local 11 11: aload 11
ifnull 23
12: aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$EntryStatus
astore 12
start local 12 13: aload 12
getfield sun.security.ssl.X509KeyManagerImpl$EntryStatus.checkResult:Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
getstatic sun.security.ssl.X509KeyManagerImpl$CheckResult.OK:Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
if_acmpne 18
14: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 16
15: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "KeyMgr: choosing key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
16: StackMap locals: java.util.List sun.security.ssl.X509KeyManagerImpl$EntryStatus
StackMap stack:
aload 0
aload 12
invokevirtual sun.security.ssl.X509KeyManagerImpl.makeAlias:(Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;)Ljava/lang/String;
17: areturn
18: StackMap locals:
StackMap stack:
aload 8
ifnonnull 20
19: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
20: StackMap locals:
StackMap stack:
aload 8
aload 11
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 12 end local 11 21: goto 23
StackMap locals: sun.security.ssl.X509KeyManagerImpl java.util.List java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.util.Set java.util.List int int
StackMap stack: java.lang.Exception
22: pop
23: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
24: iload 9
iload 10
if_icmplt 7
end local 10 end local 9 25: aload 8
ifnonnull 29
26: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 28
27: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ldc "KeyMgr: no matching key found"
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
aconst_null
areturn
29: StackMap locals:
StackMap stack:
aload 8
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
30: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 33
31: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ldc "KeyMgr: no good matching key found, returning best match out of:"
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
32: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 0
aload 8
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$EntryStatus
invokevirtual sun.security.ssl.X509KeyManagerImpl.makeAlias:(Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;)Ljava/lang/String;
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 34 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 34 1 keyTypeList Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
0 34 2 issuers [Ljava/security/Principal;
0 34 3 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 34 4 constraints Ljava/security/AlgorithmConstraints;
0 34 5 requestedServerNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
0 34 6 idAlgorithm Ljava/lang/String;
3 34 7 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
4 34 8 allResults Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
5 25 9 i I
6 25 10 n I
11 21 11 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
13 21 12 status Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;
Exception table:
from to target type
7 17 22 Class java.lang.Exception
18 21 22 Class java.lang.Exception
Signature: (Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;Ljava/lang/String;)Ljava/lang/String;
MethodParameters:
Name Flags
keyTypeList
issuers
checkType
constraints
requestedServerNames
idAlgorithm
public java.lang.String[] getAliases(java.lang.String, java.security.Principal[], sun.security.ssl.X509KeyManagerImpl$CheckType, java.security.AlgorithmConstraints);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;Lsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.ssl.X509KeyManagerImpl.getIssuerSet:([Ljava/security/Principal;)Ljava/util/Set;
astore 5
start local 5 3: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.X509KeyManagerImpl.getKeyTypes:([Ljava/lang/String;)Ljava/util/List;
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: iconst_0
istore 8
start local 8 6: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 9
start local 9 7: goto 19
8: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.lang.String java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.Set java.util.List java.util.List int int
StackMap stack:
aload 0
iload 8
aload 6
9: aload 5
iconst_1
aload 3
aload 4
10: aconst_null
aconst_null
11: invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
astore 10
start local 10 12: aload 10
ifnull 18
13: aload 7
ifnonnull 15
14: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
15: StackMap locals: java.util.List
StackMap stack:
aload 7
aload 10
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 10 16: goto 18
StackMap locals: sun.security.ssl.X509KeyManagerImpl java.lang.String java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.Set java.util.List java.util.List int int
StackMap stack: java.lang.Exception
17: pop
18: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
19: iload 8
iload 9
if_icmplt 8
end local 9 end local 8 20: aload 7
ifnull 21
aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 24
21: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 23
22: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ldc "KeyMgr: no matching alias found"
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aconst_null
areturn
24: StackMap locals:
StackMap stack:
aload 7
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
25: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 27
26: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "KeyMgr: getting aliases: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual sun.security.ssl.X509KeyManagerImpl.toAliases:(Ljava/util/List;)[Ljava/lang/String;
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 28 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 28 1 keyType Ljava/lang/String;
0 28 2 issuers [Ljava/security/Principal;
0 28 3 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 28 4 constraints Ljava/security/AlgorithmConstraints;
3 28 5 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
4 28 6 keyTypeList Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
5 28 7 allResults Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
6 20 8 i I
7 20 9 n I
12 16 10 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
Exception table:
from to target type
8 16 17 Class java.lang.Exception
MethodParameters:
Name Flags
keyType
issuers
checkType
constraints
private java.lang.String[] toAliases(java.util.List<sun.security.ssl.X509KeyManagerImpl$EntryStatus>);
descriptor: (Ljava/util/List;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: sun.security.ssl.X509KeyManagerImpl java.util.List java.lang.String[] int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$EntryStatus
astore 4
start local 4 4: aload 2
iload 3
iinc 3 1
aload 0
aload 4
invokevirtual sun.security.ssl.X509KeyManagerImpl.makeAlias:(Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;)Ljava/lang/String;
aastore
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 7 1 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
1 7 2 s [Ljava/lang/String;
2 7 3 i I
4 5 4 result Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;
Signature: (Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;)[Ljava/lang/String;
MethodParameters:
Name Flags
results
private java.util.Set<java.security.Principal> getIssuerSet(java.security.Principal[]);
descriptor: ([Ljava/security/Principal;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
arraylength
ifeq 2
1: new java.util.HashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 3 1 issuers [Ljava/security/Principal;
Signature: ([Ljava/security/Principal;)Ljava/util/Set<Ljava/security/Principal;>;
MethodParameters:
Name Flags
issuers
private java.util.List<sun.security.ssl.X509KeyManagerImpl$EntryStatus> getAliases(int, java.util.List<sun.security.ssl.X509KeyManagerImpl$KeyType>, java.util.Set<java.security.Principal>, boolean, sun.security.ssl.X509KeyManagerImpl$CheckType, java.security.AlgorithmConstraints, java.util.List<javax.net.ssl.SNIServerName>, java.lang.String);
descriptor: (ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=26, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.KeyStore$Builder
astore 9
start local 9 1: aload 9
invokevirtual java.security.KeyStore$Builder.getKeyStore:()Ljava/security/KeyStore;
astore 10
start local 10 2: aconst_null
astore 11
start local 11 3: getstatic sun.security.ssl.X509KeyManagerImpl.verificationDate:Ljava/util/Date;
astore 12
start local 12 4: iconst_0
istore 13
start local 13 5: aload 10
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 14
start local 14 6: goto 82
7: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration
StackMap stack:
aload 14
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 15
start local 15 8: aload 10
aload 15
invokevirtual java.security.KeyStore.isKeyEntry:(Ljava/lang/String;)Z
ifne 10
9: goto 82
10: StackMap locals: java.lang.String
StackMap stack:
aload 10
aload 15
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 16
start local 16 11: aload 16
ifnull 82
aload 16
arraylength
ifne 13
12: goto 82
13: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iconst_0
istore 17
start local 17 14: aload 16
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 20
StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int top int int java.security.cert.Certificate[]
StackMap stack:
15: aload 21
iload 19
aaload
astore 18
start local 18 16: aload 18
instanceof java.security.cert.X509Certificate
ifne 19
17: iconst_1
istore 17
18: goto 21
end local 18 19: StackMap locals:
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
20: iload 19
iload 20
if_icmplt 15
21: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int
StackMap stack:
iload 17
ifeq 23
22: goto 82
23: StackMap locals:
StackMap stack:
iconst_m1
istore 18
start local 18 24: iconst_0
istore 19
start local 19 25: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 21
goto 31
StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int top java.util.Iterator
StackMap stack:
26: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$KeyType
astore 20
start local 20 27: aload 20
aload 16
invokevirtual sun.security.ssl.X509KeyManagerImpl$KeyType.matches:([Ljava/security/cert/Certificate;)Z
ifeq 30
28: iload 19
istore 18
29: goto 32
30: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int sun.security.ssl.X509KeyManagerImpl$KeyType java.util.Iterator
StackMap stack:
iinc 19 1
end local 20 31: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int top java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
32: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int
StackMap stack:
iload 18
iconst_m1
if_icmpne 38
33: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 82
34: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "Ignoring alias "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc ": key algorithm does not match"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
37: goto 82
38: StackMap locals:
StackMap stack:
aload 3
ifnull 54
39: iconst_0
istore 20
start local 20 40: aload 16
dup
astore 24
arraylength
istore 23
iconst_0
istore 22
goto 47
StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int int top int int java.security.cert.Certificate[]
StackMap stack:
41: aload 24
iload 22
aaload
astore 21
start local 21 42: aload 21
checkcast java.security.cert.X509Certificate
astore 25
start local 25 43: aload 3
aload 25
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 46
44: iconst_1
istore 20
45: goto 48
end local 25 end local 21 46: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
47: iload 22
iload 23
if_icmplt 41
48: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration java.lang.String java.security.cert.Certificate[] int int int int
StackMap stack:
iload 20
ifne 54
49: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 82
50: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "Ignoring alias "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
51: ldc ": issuers do not match"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
52: invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
53: goto 82
end local 20 54: StackMap locals:
StackMap stack:
aload 6
ifnull 65
55: aload 6
aload 16
56: aload 5
invokevirtual sun.security.ssl.X509KeyManagerImpl$CheckType.getValidator:()Ljava/lang/String;
57: invokestatic sun.security.ssl.X509KeyManagerImpl.conformsToAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;[Ljava/security/cert/Certificate;Ljava/lang/String;)Z
58: ifne 65
59: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 82
60: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "Ignoring alias "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: ldc ": certificate list does not conform to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: ldc "algorithm constraints"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
64: goto 82
65: StackMap locals:
StackMap stack:
aload 12
ifnonnull 67
66: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 12
67: StackMap locals:
StackMap stack:
aload 5
aload 16
iconst_0
aaload
checkcast java.security.cert.X509Certificate
aload 12
68: aload 7
aload 8
69: invokevirtual sun.security.ssl.X509KeyManagerImpl$CheckType.check:(Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/util/List;Ljava/lang/String;)Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
70: astore 20
start local 20 71: new sun.security.ssl.X509KeyManagerImpl$EntryStatus
dup
iload 1
iload 18
72: aload 15
aload 16
aload 20
73: invokespecial sun.security.ssl.X509KeyManagerImpl$EntryStatus.<init>:(IILjava/lang/String;[Ljava/security/cert/Certificate;Lsun/security/ssl/X509KeyManagerImpl$CheckResult;)V
74: astore 21
start local 21 75: iload 13
ifne 77
aload 20
getstatic sun.security.ssl.X509KeyManagerImpl$CheckResult.OK:Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
if_acmpne 77
iload 18
ifne 77
76: iconst_1
istore 13
77: StackMap locals: sun.security.ssl.X509KeyManagerImpl$CheckResult sun.security.ssl.X509KeyManagerImpl$EntryStatus
StackMap stack:
iload 13
ifeq 79
iload 4
ifne 79
78: aload 21
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
79: StackMap locals:
StackMap stack:
aload 11
ifnonnull 81
80: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
81: StackMap locals:
StackMap stack:
aload 11
aload 21
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 82: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.List java.lang.String java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration
StackMap stack:
aload 14
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
end local 14 83: aload 11
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 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 84 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 84 1 builderIndex I
0 84 2 keyTypes Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
0 84 3 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
0 84 4 findAll Z
0 84 5 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 84 6 constraints Ljava/security/AlgorithmConstraints;
0 84 7 requestedServerNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
0 84 8 idAlgorithm Ljava/lang/String;
1 84 9 builder Ljava/security/KeyStore$Builder;
2 84 10 ks Ljava/security/KeyStore;
3 84 11 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
4 84 12 date Ljava/util/Date;
5 84 13 preferred Z
6 83 14 e Ljava/util/Enumeration<Ljava/lang/String;>;
8 82 15 alias Ljava/lang/String;
11 82 16 chain [Ljava/security/cert/Certificate;
14 82 17 incompatible Z
16 19 18 cert Ljava/security/cert/Certificate;
24 82 18 keyIndex I
25 82 19 j I
27 31 20 keyType Lsun/security/ssl/X509KeyManagerImpl$KeyType;
40 54 20 found Z
42 46 21 cert Ljava/security/cert/Certificate;
43 46 25 xcert Ljava/security/cert/X509Certificate;
71 82 20 checkResult Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
75 82 21 status Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;
Exceptions:
throws java.lang.Exception
Signature: (ILjava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;Ljava/util/Set<Ljava/security/Principal;>;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;Ljava/lang/String;)Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
MethodParameters:
Name Flags
builderIndex
keyTypes
issuerSet
findAll
checkType
constraints
requestedServerNames
idAlgorithm
private static boolean conformsToAlgorithmConstraints(java.security.AlgorithmConstraints, java.security.cert.Certificate[], java.lang.String);
descriptor: (Ljava/security/AlgorithmConstraints;[Ljava/security/cert/Certificate;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.provider.certpath.AlgorithmChecker
dup
aload 0
aconst_null
aload 2
invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/AlgorithmConstraints;Ljava/security/Timestamp;Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
iconst_0
invokevirtual sun.security.provider.certpath.AlgorithmChecker.init:(Z)V
2: goto 9
StackMap locals: java.security.AlgorithmConstraints java.security.cert.Certificate[] java.lang.String sun.security.provider.certpath.AlgorithmChecker
StackMap stack: java.security.cert.CertPathValidatorException
3: astore 4
start local 4 4: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 8
5: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
6: new java.lang.StringBuilder
dup
ldc "Cannot initialize algorithm constraints checker: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
8: StackMap locals: java.security.cert.CertPathValidatorException
StackMap stack:
iconst_0
ireturn
end local 4 9: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
isub
istore 4
start local 4 10: goto 21
11: StackMap locals: int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 12: aload 3
aload 5
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
13: goto 20
StackMap locals: java.security.AlgorithmConstraints java.security.cert.Certificate[] java.lang.String sun.security.provider.certpath.AlgorithmChecker int java.security.cert.Certificate
StackMap stack: java.security.cert.CertPathValidatorException
14: astore 6
start local 6 15: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 19
16: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
new java.lang.StringBuilder
dup
ldc "Certificate ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17: ldc ") does not conform to algorithm constraints: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
19: StackMap locals: java.security.cert.CertPathValidatorException
StackMap stack:
iconst_0
ireturn
end local 6 end local 5 20: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
21: iload 4
ifge 11
end local 4 22: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 constraints Ljava/security/AlgorithmConstraints;
0 23 1 chain [Ljava/security/cert/Certificate;
0 23 2 variant Ljava/lang/String;
1 23 3 checker Lsun/security/provider/certpath/AlgorithmChecker;
4 9 4 cpve Ljava/security/cert/CertPathValidatorException;
10 22 4 i I
12 20 5 cert Ljava/security/cert/Certificate;
15 20 6 cpve Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertPathValidatorException
12 13 14 Class java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
constraints
chain
variant
}
SourceFile: "X509KeyManagerImpl.java"
NestMembers:
sun.security.ssl.X509KeyManagerImpl$CheckResult sun.security.ssl.X509KeyManagerImpl$CheckType sun.security.ssl.X509KeyManagerImpl$EntryStatus sun.security.ssl.X509KeyManagerImpl$KeyType sun.security.ssl.X509KeyManagerImpl$SizedMap
InnerClasses:
public abstract Builder = java.security.KeyStore$Builder of java.security.KeyStore
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
private final CheckResult = sun.security.ssl.X509KeyManagerImpl$CheckResult of sun.security.ssl.X509KeyManagerImpl
private final CheckType = sun.security.ssl.X509KeyManagerImpl$CheckType of sun.security.ssl.X509KeyManagerImpl
private EntryStatus = sun.security.ssl.X509KeyManagerImpl$EntryStatus of sun.security.ssl.X509KeyManagerImpl
private KeyType = sun.security.ssl.X509KeyManagerImpl$KeyType of sun.security.ssl.X509KeyManagerImpl
private SizedMap = sun.security.ssl.X509KeyManagerImpl$SizedMap of sun.security.ssl.X509KeyManagerImpl