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=6, 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: 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 keyType Ljava/lang/String;
0 3 2 issuers [Ljava/security/Principal;
0 3 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=6, 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: 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 keyType Ljava/lang/String;
0 3 2 issuers [Ljava/security/Principal;
0 3 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
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmplt 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
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmplt 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=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 5
start local 5 3: aconst_null
astore 6
start local 6 4: iconst_0
istore 7
start local 7 5: aload 0
getfield sun.security.ssl.X509KeyManagerImpl.builders:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 8
start local 8 6: goto 23
7: StackMap locals: sun.security.ssl.X509KeyManagerImpl java.util.List java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.Set java.util.List int int
StackMap stack:
aload 0
iload 7
aload 1
8: aload 5
iconst_0
aload 3
aload 4
9: invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/util/List;
astore 9
start local 9 10: aload 9
ifnull 22
11: aload 9
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$EntryStatus
astore 10
start local 10 12: aload 10
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 17
13: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 15
14: 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 10
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
15: StackMap locals: java.util.List sun.security.ssl.X509KeyManagerImpl$EntryStatus
StackMap stack:
aload 0
aload 10
invokevirtual sun.security.ssl.X509KeyManagerImpl.makeAlias:(Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;)Ljava/lang/String;
16: areturn
17: StackMap locals:
StackMap stack:
aload 6
ifnonnull 19
18: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
19: StackMap locals:
StackMap stack:
aload 6
aload 9
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 10 end local 9 20: goto 22
StackMap locals: sun.security.ssl.X509KeyManagerImpl java.util.List java.security.Principal[] sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.util.Set java.util.List int int
StackMap stack: java.lang.Exception
21: pop
22: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
iload 8
if_icmplt 7
end local 8 end local 7 24: aload 6
ifnonnull 28
25: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 27
26: 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
27: StackMap locals:
StackMap stack:
aconst_null
areturn
28: StackMap locals:
StackMap stack:
aload 6
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
29: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 32
30: 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
31: getstatic sun.security.ssl.X509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
32: StackMap locals:
StackMap stack:
aload 0
aload 6
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 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 33 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 33 1 keyTypeList Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
0 33 2 issuers [Ljava/security/Principal;
0 33 3 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 33 4 constraints Ljava/security/AlgorithmConstraints;
3 33 5 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
4 33 6 allResults Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
5 24 7 i I
6 24 8 n I
10 20 9 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
12 20 10 status Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;
Exception table:
from to target type
7 16 21 Class java.lang.Exception
17 20 21 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/lang/String;
MethodParameters:
Name Flags
keyTypeList
issuers
checkType
constraints
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=7, 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 18
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: invokevirtual sun.security.ssl.X509KeyManagerImpl.getAliases:(ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/util/List;
astore 10
start local 10 11: aload 10
ifnull 17
12: aload 7
ifnonnull 14
13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
14: StackMap locals: java.util.List
StackMap stack:
aload 7
aload 10
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 10 15: goto 17
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
16: pop
17: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 9
if_icmplt 8
end local 9 end local 8 19: aload 7
ifnull 20
aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 23
20: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 22
21: 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
22: StackMap locals:
StackMap stack:
aconst_null
areturn
23: StackMap locals:
StackMap stack:
aload 7
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
24: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 26
25: 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
26: 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 27 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 27 1 keyType Ljava/lang/String;
0 27 2 issuers [Ljava/security/Principal;
0 27 3 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 27 4 constraints Ljava/security/AlgorithmConstraints;
3 27 5 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
4 27 6 keyTypeList Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
5 27 7 allResults Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
6 19 8 i I
7 19 9 n I
11 15 10 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
Exception table:
from to target type
8 15 16 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);
descriptor: (ILjava/util/List;Ljava/util/Set;ZLsun/security/ssl/X509KeyManagerImpl$CheckType;Ljava/security/AlgorithmConstraints;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=24, 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 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 7
start local 7 1: aload 7
invokevirtual java.security.KeyStore$Builder.getKeyStore:()Ljava/security/KeyStore;
astore 8
start local 8 2: aconst_null
astore 9
start local 9 3: getstatic sun.security.ssl.X509KeyManagerImpl.verificationDate:Ljava/util/Date;
astore 10
start local 10 4: iconst_0
istore 11
start local 11 5: aload 8
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 12
start local 12 6: goto 80
7: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 8: aload 8
aload 13
invokevirtual java.security.KeyStore.isKeyEntry:(Ljava/lang/String;)Z
ifne 10
9: goto 80
10: StackMap locals: java.lang.String
StackMap stack:
aload 8
aload 13
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 14
start local 14 11: aload 14
ifnull 80
aload 14
arraylength
ifne 13
12: goto 80
13: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iconst_0
istore 15
start local 15 14: aload 14
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
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.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 19
iload 17
aaload
astore 16
start local 16 16: aload 16
instanceof java.security.cert.X509Certificate
ifne 19
17: iconst_1
istore 15
18: goto 21
end local 16 19: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
20: iload 17
iload 18
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.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 15
ifeq 23
22: goto 80
23: StackMap locals:
StackMap stack:
iconst_m1
istore 16
start local 16 24: iconst_0
istore 17
start local 17 25: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
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.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 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.X509KeyManagerImpl$KeyType
astore 18
start local 18 27: aload 18
aload 14
invokevirtual sun.security.ssl.X509KeyManagerImpl$KeyType.matches:([Ljava/security/cert/Certificate;)Z
ifeq 30
28: iload 17
istore 16
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.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 17 1
end local 18 31: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints 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 19
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.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 16
iconst_m1
if_icmpne 38
33: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 80
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 13
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 80
38: StackMap locals:
StackMap stack:
aload 3
ifnull 54
39: iconst_0
istore 18
start local 18 40: aload 14
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
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.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 22
iload 20
aaload
astore 19
start local 19 42: aload 19
checkcast java.security.cert.X509Certificate
astore 23
start local 23 43: aload 3
aload 23
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 18
45: goto 48
end local 23 end local 19 46: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
47: iload 20
iload 21
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.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 18
ifne 54
49: getstatic sun.security.ssl.X509KeyManagerImpl.useDebug:Z
ifeq 80
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 13
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 80
end local 18 54: StackMap locals:
StackMap stack:
aload 6
ifnull 65
55: aload 6
aload 14
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 80
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 13
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 80
65: StackMap locals:
StackMap stack:
aload 10
ifnonnull 67
66: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 10
67: StackMap locals:
StackMap stack:
aload 5
aload 14
iconst_0
aaload
checkcast java.security.cert.X509Certificate
aload 10
invokevirtual sun.security.ssl.X509KeyManagerImpl$CheckType.check:(Ljava/security/cert/X509Certificate;Ljava/util/Date;)Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
68: astore 18
start local 18 69: new sun.security.ssl.X509KeyManagerImpl$EntryStatus
dup
iload 1
iload 16
70: aload 13
aload 14
aload 18
71: invokespecial sun.security.ssl.X509KeyManagerImpl$EntryStatus.<init>:(IILjava/lang/String;[Ljava/security/cert/Certificate;Lsun/security/ssl/X509KeyManagerImpl$CheckResult;)V
72: astore 19
start local 19 73: iload 11
ifne 75
aload 18
getstatic sun.security.ssl.X509KeyManagerImpl$CheckResult.OK:Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
if_acmpne 75
iload 16
ifne 75
74: iconst_1
istore 11
75: StackMap locals: sun.security.ssl.X509KeyManagerImpl$CheckResult sun.security.ssl.X509KeyManagerImpl$EntryStatus
StackMap stack:
iload 11
ifeq 77
iload 4
ifne 77
76: aload 19
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
77: StackMap locals:
StackMap stack:
aload 9
ifnonnull 79
78: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
79: StackMap locals:
StackMap stack:
aload 9
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 80: StackMap locals: sun.security.ssl.X509KeyManagerImpl int java.util.List java.util.Set int sun.security.ssl.X509KeyManagerImpl$CheckType java.security.AlgorithmConstraints java.security.KeyStore$Builder java.security.KeyStore java.util.List java.util.Date int java.util.Enumeration
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
end local 12 81: aload 9
areturn
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 82 0 this Lsun/security/ssl/X509KeyManagerImpl;
0 82 1 builderIndex I
0 82 2 keyTypes Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$KeyType;>;
0 82 3 issuerSet Ljava/util/Set<Ljava/security/Principal;>;
0 82 4 findAll Z
0 82 5 checkType Lsun/security/ssl/X509KeyManagerImpl$CheckType;
0 82 6 constraints Ljava/security/AlgorithmConstraints;
1 82 7 builder Ljava/security/KeyStore$Builder;
2 82 8 ks Ljava/security/KeyStore;
3 82 9 results Ljava/util/List<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
4 82 10 date Ljava/util/Date;
5 82 11 preferred Z
6 81 12 e Ljava/util/Enumeration<Ljava/lang/String;>;
8 80 13 alias Ljava/lang/String;
11 80 14 chain [Ljava/security/cert/Certificate;
14 80 15 incompatible Z
16 19 16 cert Ljava/security/cert/Certificate;
24 80 16 keyIndex I
25 80 17 j I
27 31 18 keyType Lsun/security/ssl/X509KeyManagerImpl$KeyType;
40 54 18 found Z
42 46 19 cert Ljava/security/cert/Certificate;
43 46 23 xcert Ljava/security/cert/X509Certificate;
69 80 18 checkResult Lsun/security/ssl/X509KeyManagerImpl$CheckResult;
73 80 19 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<Lsun/security/ssl/X509KeyManagerImpl$EntryStatus;>;
MethodParameters:
Name Flags
builderIndex
keyTypes
issuerSet
findAll
checkType
constraints
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