final class sun.security.ssl.SunX509KeyManagerImpl extends javax.net.ssl.X509ExtendedKeyManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SunX509KeyManagerImpl
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 java.lang.String[] STRING0;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.String, sun.security.ssl.SunX509KeyManagerImpl$X509Credentials> credentialsMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;>;
private final java.util.Map<java.lang.String, java.lang.String[]> serverAliasCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
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.SunX509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
1: iconst_0
anewarray java.lang.String
putstatic sun.security.ssl.SunX509KeyManagerImpl.STRING0:[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.KeyStore, char[]);
descriptor: (Ljava/security/KeyStore;[C)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial javax.net.ssl.X509ExtendedKeyManager.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.security.ssl.SunX509KeyManagerImpl.credentialsMap:Ljava/util/Map;
2: aload 0
3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
4: invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield sun.security.ssl.SunX509KeyManagerImpl.serverAliasCache:Ljava/util/Map;
5: aload 1
ifnonnull 7
6: return
7: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.security.KeyStore char[]
StackMap stack:
aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 3
start local 3 8: goto 38
9: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 10: aload 1
aload 4
invokevirtual java.security.KeyStore.isKeyEntry:(Ljava/lang/String;)Z
ifne 12
11: goto 38
12: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 4
aload 2
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 5
start local 5 13: aload 5
instanceof java.security.PrivateKey
ifne 15
14: goto 38
15: StackMap locals: java.security.Key
StackMap stack:
aload 1
aload 4
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 6
start local 6 16: aload 6
ifnull 38
aload 6
arraylength
ifeq 38
17: aload 6
iconst_0
aaload
instanceof java.security.cert.X509Certificate
ifne 19
18: goto 38
19: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 6
instanceof java.security.cert.X509Certificate[]
ifne 23
20: aload 6
arraylength
anewarray java.security.cert.X509Certificate
astore 7
start local 7 21: aload 6
iconst_0
aload 7
iconst_0
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 7
astore 6
end local 7 23: StackMap locals:
StackMap stack:
new sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
dup
aload 5
checkcast java.security.PrivateKey
24: aload 6
checkcast java.security.cert.X509Certificate[]
25: invokespecial sun.security.ssl.SunX509KeyManagerImpl$X509Credentials.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V
astore 7
start local 7 26: aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.credentialsMap:Ljava/util/Map;
aload 4
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: getstatic sun.security.ssl.SunX509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ifnull 38
ldc "keymanager"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 38
28: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "***"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "found key for : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: iconst_0
istore 8
start local 8 31: goto 36
32: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl$X509Credentials int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "chain ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 6
iload 8
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: iinc 8 1
StackMap locals:
StackMap stack:
36: iload 8
aload 6
arraylength
if_icmplt 32
end local 8 37: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "***"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 end local 4 38: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.security.KeyStore char[] java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 3 39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 40 1 ks Ljava/security/KeyStore;
0 40 2 password [C
8 39 3 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
10 38 4 alias Ljava/lang/String;
13 38 5 key Ljava/security/Key;
16 38 6 certs [Ljava/security/cert/Certificate;
21 23 7 tmp [Ljava/security/cert/Certificate;
26 38 7 cred Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;
31 37 8 i I
Exceptions:
throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
ks
password
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 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.credentialsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
astore 2
start local 2 3: aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
StackMap stack:
aload 2
getfield sun.security.ssl.SunX509KeyManagerImpl$X509Credentials.certificates:[Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 6 1 alias Ljava/lang/String;
3 6 2 cred Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;
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 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.credentialsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
astore 2
start local 2 3: aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
StackMap stack:
aload 2
getfield sun.security.ssl.SunX509KeyManagerImpl$X509Credentials.privateKey:Ljava/security/PrivateKey;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 6 1 alias Ljava/lang/String;
3 6 2 cred Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;
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=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 4
aaload
aload 2
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.getClientAliases:(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
astore 5
start local 5 5: aload 5
ifnull 7
aload 5
arraylength
ifle 7
6: aload 5
iconst_0
aaload
areturn
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 9: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 10 1 keyTypes [Ljava/lang/String;
0 10 2 issuers [Ljava/security/Principal;
0 10 3 socket Ljava/net/Socket;
3 9 4 i I
5 7 5 aliases [Ljava/lang/String;
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.chooseClientAlias:([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 1 1 keyType [Ljava/lang/String;
0 1 2 issuers [Ljava/security/Principal;
0 1 3 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
keyType
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=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnull 3
aload 2
arraylength
ifne 10
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.serverAliasCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
astore 4
start local 4 4: aload 4
ifnonnull 11
5: aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.getServerAliases:(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
astore 4
6: aload 4
ifnonnull 8
7: getstatic sun.security.ssl.SunX509KeyManagerImpl.STRING0:[Ljava/lang/String;
astore 4
8: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.serverAliasCache:Ljava/util/Map;
aload 1
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: goto 11
end local 4 10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.getServerAliases:(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
astore 4
start local 4 11: StackMap locals: java.lang.String[]
StackMap stack:
aload 4
ifnull 13
aload 4
arraylength
ifle 13
12: aload 4
iconst_0
aaload
areturn
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 14 1 keyType Ljava/lang/String;
0 14 2 issuers [Ljava/security/Principal;
0 14 3 socket Ljava/net/Socket;
4 10 4 aliases [Ljava/lang/String;
11 14 4 aliases [Ljava/lang/String;
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.chooseServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 1 1 keyType Ljava/lang/String;
0 1 2 issuers [Ljava/security/Principal;
0 1 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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.getAliases:(Ljava/lang/String;[Ljava/security/Principal;)[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/SunX509KeyManagerImpl;
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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.SunX509KeyManagerImpl.getAliases:(Ljava/lang/String;[Ljava/security/Principal;)[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/SunX509KeyManagerImpl;
0 1 1 keyType Ljava/lang/String;
0 1 2 issuers [Ljava/security/Principal;
MethodParameters:
Name Flags
keyType
issuers
private java.lang.String[] getAliases(java.lang.String, java.security.Principal[]);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: iconst_0
anewarray javax.security.auth.x500.X500Principal
astore 2
4: StackMap locals:
StackMap stack:
aload 2
instanceof javax.security.auth.x500.X500Principal[]
ifne 6
5: aload 2
invokestatic sun.security.ssl.SunX509KeyManagerImpl.convertPrincipals:([Ljava/security/Principal;)[Ljavax/security/auth/x500/X500Principal;
astore 2
6: StackMap locals:
StackMap stack:
aload 1
ldc "_"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 11
7: aload 1
bipush 95
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 8: aload 1
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 9: aload 1
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
end local 4 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 12: StackMap locals: java.lang.String
StackMap stack:
aload 2
checkcast javax.security.auth.x500.X500Principal[]
astore 4
start local 4 13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 14: aload 0
getfield sun.security.ssl.SunX509KeyManagerImpl.credentialsMap:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 51
StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.lang.String java.security.Principal[] java.lang.String javax.security.auth.x500.X500Principal[] java.util.List top java.util.Iterator
StackMap stack:
15: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 16: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 17: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
astore 9
start local 9 18: aload 9
getfield sun.security.ssl.SunX509KeyManagerImpl$X509Credentials.certificates:[Ljava/security/cert/X509Certificate;
astore 10
start local 10 19: aload 1
aload 10
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
20: goto 51
21: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.lang.String java.security.Principal[] java.lang.String javax.security.auth.x500.X500Principal[] java.util.List java.util.Map$Entry java.util.Iterator java.lang.String sun.security.ssl.SunX509KeyManagerImpl$X509Credentials java.security.cert.X509Certificate[]
StackMap stack:
aload 3
ifnull 35
22: aload 10
arraylength
iconst_1
if_icmple 28
23: aload 3
24: aload 10
iconst_1
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
25: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
26: ifne 35
27: goto 51
28: StackMap locals:
StackMap stack:
aload 10
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
29: astore 11
start local 11 30: new java.lang.StringBuilder
dup
ldc "WITH"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 33: aload 11
aload 12
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 35
34: goto 51
end local 12 end local 11 35: StackMap locals:
StackMap stack:
aload 2
arraylength
ifne 40
36: aload 5
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
37: getstatic sun.security.ssl.SunX509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ifnull 51
ldc "keymanager"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 51
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "matching alias: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: goto 51
40: StackMap locals:
StackMap stack:
aload 9
invokevirtual sun.security.ssl.SunX509KeyManagerImpl$X509Credentials.getIssuerX500Principals:()Ljava/util/Set;
41: astore 11
start local 11 42: iconst_0
istore 12
start local 12 43: goto 50
44: StackMap locals: java.util.Set int
StackMap stack:
aload 11
aload 2
iload 12
aaload
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 49
45: aload 5
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: getstatic sun.security.ssl.SunX509KeyManagerImpl.debug:Lsun/security/ssl/Debug;
ifnull 51
ldc "keymanager"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 51
47: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "matching alias: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: goto 51
49: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
50: iload 12
aload 4
arraylength
if_icmplt 44
end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 51: StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.lang.String java.security.Principal[] java.lang.String javax.security.auth.x500.X500Principal[] java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
52: aload 5
getstatic sun.security.ssl.SunX509KeyManagerImpl.STRING0:[Ljava/lang/String;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 6
start local 6 53: aload 6
arraylength
ifne 54
aconst_null
goto 55
StackMap locals: sun.security.ssl.SunX509KeyManagerImpl java.lang.String java.security.Principal[] java.lang.String javax.security.auth.x500.X500Principal[] java.util.List java.lang.String[]
StackMap stack:
54: aload 6
StackMap locals:
StackMap stack: java.lang.String[]
55: 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 56 0 this Lsun/security/ssl/SunX509KeyManagerImpl;
0 56 1 keyType Ljava/lang/String;
0 56 2 issuers [Ljava/security/Principal;
9 11 3 sigType Ljava/lang/String;
12 56 3 sigType Ljava/lang/String;
8 10 4 k I
13 56 4 x500Issuers [Ljavax/security/auth/x500/X500Principal;
14 56 5 aliases Ljava/util/List<Ljava/lang/String;>;
16 51 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;>;
17 51 8 alias Ljava/lang/String;
18 51 9 credentials Lsun/security/ssl/SunX509KeyManagerImpl$X509Credentials;
19 51 10 certs [Ljava/security/cert/X509Certificate;
30 35 11 sigAlgName Ljava/lang/String;
33 35 12 pattern Ljava/lang/String;
42 51 11 certIssuers Ljava/util/Set<Ljavax/security/auth/x500/X500Principal;>;
43 51 12 i I
53 56 6 aliasStrings [Ljava/lang/String;
MethodParameters:
Name Flags
keyType
issuers
private static javax.security.auth.x500.X500Principal[] convertPrincipals(java.security.Principal[]);
descriptor: ([Ljava/security/Principal;)[Ljavax/security/auth/x500/X500Principal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 11
3: StackMap locals: java.util.List int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 4: aload 3
instanceof javax.security.auth.x500.X500Principal
ifeq 7
5: aload 1
aload 3
checkcast javax.security.auth.x500.X500Principal
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: goto 10
7: StackMap locals: java.security.Principal
StackMap stack:
aload 1
new javax.security.auth.x500.X500Principal
dup
aload 3
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: goto 10
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
9: pop
end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 12: aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray javax.security.auth.x500.X500Principal
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.security.auth.x500.X500Principal[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 principals [Ljava/security/Principal;
1 13 1 list Ljava/util/List<Ljavax/security/auth/x500/X500Principal;>;
2 12 2 i I
4 10 3 p Ljava/security/Principal;
Exception table:
from to target type
7 8 9 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
principals
}
SourceFile: "SunX509KeyManagerImpl.java"
NestMembers:
sun.security.ssl.SunX509KeyManagerImpl$X509Credentials
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private X509Credentials = sun.security.ssl.SunX509KeyManagerImpl$X509Credentials of sun.security.ssl.SunX509KeyManagerImpl