final class sun.security.pkcs11.P11KeyStore extends java.security.KeyStoreSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11KeyStore
super_class: java.security.KeyStoreSpi
{
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_CERT;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_PKEY;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_SKEY;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_X509_CERT_TYPE;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_TOKEN_TRUE;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_SKEY_TOKEN_TRUE;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_TRUSTED_TRUE;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_PRIVATE_TRUE;
descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long NO_HANDLE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final long FINDOBJECTS_MAX;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private static final java.lang.String ALIAS_SEP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/"
private static final boolean NSS_TEST;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static boolean CKA_TRUSTED_SUPPORTED;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final sun.security.pkcs11.Token token;
descriptor: Lsun/security/pkcs11/Token;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean writeDisabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap<java.lang.String, sun.security.pkcs11.P11KeyStore$AliasInfo> aliasMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
private final boolean useSecmodTrust;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.pkcs11.Secmod$TrustType nssTrustType;
descriptor: Lsun/security/pkcs11/Secmod$TrustType;
flags: (0x0002) ACC_PRIVATE
private static final long[] LONG0;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
lconst_1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
1: putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
2: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
3: putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
5: putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
6: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 128
lconst_0
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
7: putstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
8: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_1
iconst_1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
9: putstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
10: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
putstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 134
iconst_1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
12: putstatic sun.security.pkcs11.P11KeyStore.ATTR_TRUSTED_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
13: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 2
iconst_1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
14: putstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
15: ldc "pkcs11keystore"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
16: putstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
17: iconst_1
putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
18: iconst_0
newarray 11
putstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.pkcs11.Token);
descriptor: (Lsun/security/pkcs11/Token;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.KeyStoreSpi.<init>:()V
1: aload 0
iconst_0
putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
2: aload 0
aload 1
putfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
3: aload 0
aload 1
getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
getfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
putfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
0 5 1 token Lsun/security/pkcs11/Token;
MethodParameters:
Name Flags
token
public synchronized java.security.Key engineGetKey(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 2
ifnull 3
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 3
2: new java.security.NoSuchAlgorithmException
dup
ldc "password must be null"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 6
5: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 7: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 4
8: aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 18
9: aload 0
aload 4
10: aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11: aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
12: aconst_null
13: invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 5
start local 5 14: aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 27
15: aload 0
aload 4
aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.P11KeyStore.loadPkey:(Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
astore 7
16: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
17: aload 7
areturn
end local 5 18: StackMap locals: sun.security.pkcs11.Session
StackMap stack:
aload 0
aload 4
19: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
20: aconst_null
21: aload 1
22: invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 5
start local 5 23: aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 27
24: aload 0
aload 4
aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.P11KeyStore.loadSkey:(Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
astore 7
25: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
26: aload 7
areturn
end local 5 27: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
28: aconst_null
areturn
29: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 5
start local 5 30: new java.security.ProviderException
dup
aload 5
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 31: StackMap locals:
StackMap stack: java.security.KeyStoreException
astore 5
start local 5 32: new java.security.ProviderException
dup
aload 5
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
34: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
35: aload 6
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11KeyStore;
0 36 1 alias Ljava/lang/String;
0 36 2 password [C
4 36 3 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
7 36 4 session Lsun/security/pkcs11/Session;
14 18 5 h Lsun/security/pkcs11/P11KeyStore$THandle;
23 27 5 h Lsun/security/pkcs11/P11KeyStore$THandle;
30 31 5 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
32 33 5 ke Ljava/security/KeyStoreException;
Exception table:
from to target type
7 16 29 Class sun.security.pkcs11.wrapper.PKCS11Exception
18 25 29 Class sun.security.pkcs11.wrapper.PKCS11Exception
7 16 31 Class java.security.KeyStoreException
18 25 31 Class java.security.KeyStoreException
7 16 33 any
18 25 33 any
29 33 33 any
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
alias
password
public synchronized java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 4
3: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
0 5 1 alias Ljava/lang/String;
2 5 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
MethodParameters:
Name Flags
alias
public synchronized java.security.cert.Certificate engineGetCertificate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
0 5 1 alias Ljava/lang/String;
2 5 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
MethodParameters:
Name Flags
alias
public java.util.Date engineGetCreationDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: new java.security.ProviderException
dup
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public synchronized void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
2: aload 2
instanceof java.security.PrivateKey
ifne 4
aload 2
instanceof javax.crypto.SecretKey
ifne 4
3: new java.security.KeyStoreException
dup
ldc "key must be PrivateKey or SecretKey"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.PrivateKey
ifeq 8
aload 4
ifnonnull 8
5: new java.security.KeyStoreException
dup
6: ldc "PrivateKey must be accompanied by non-null chain"
7: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
instanceof javax.crypto.SecretKey
ifeq 12
aload 4
ifnull 12
9: new java.security.KeyStoreException
dup
10: ldc "SecretKey must be accompanied by null chain"
11: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
ifnull 15
13: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 15
14: new java.security.KeyStoreException
dup
ldc "Password must be null"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 16: aload 2
instanceof java.security.PrivateKey
ifeq 19
17: new java.security.KeyStore$PrivateKeyEntry
dup
aload 2
checkcast java.security.PrivateKey
aload 4
invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
astore 5
18: goto 26
StackMap locals: java.security.KeyStore$Entry
StackMap stack:
19: aload 2
instanceof javax.crypto.SecretKey
ifeq 26
20: new java.security.KeyStore$SecretKeyEntry
dup
aload 2
checkcast javax.crypto.SecretKey
invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
astore 5
21: goto 26
StackMap locals:
StackMap stack: java.lang.NullPointerException
22: astore 6
start local 6 23: new java.security.KeyStoreException
dup
aload 6
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 24: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 25: new java.security.KeyStoreException
dup
aload 6
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
new java.security.KeyStore$PasswordProtection
dup
aload 3
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
invokevirtual sun.security.pkcs11.P11KeyStore.engineSetEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
27: return
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/pkcs11/P11KeyStore;
0 28 1 alias Ljava/lang/String;
0 28 2 key Ljava/security/Key;
0 28 3 password [C
0 28 4 chain [Ljava/security/cert/Certificate;
16 28 5 entry Ljava/security/KeyStore$Entry;
23 24 6 npe Ljava/lang/NullPointerException;
25 26 6 iae Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
16 21 22 Class java.lang.NullPointerException
16 21 24 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
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
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: new java.security.ProviderException
dup
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
0 2 1 alias Ljava/lang/String;
0 2 2 key [B
0 2 3 chain [Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
chain
public synchronized void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
2: aload 2
ifnonnull 4
3: new java.security.KeyStoreException
dup
ldc "invalid null certificate"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: new java.security.KeyStore$TrustedCertificateEntry
dup
aload 2
invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;)V
astore 3
6: aload 0
aload 1
aload 3
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.engineSetEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/P11KeyStore;
0 8 1 alias Ljava/lang/String;
0 8 2 cert Ljava/security/cert/Certificate;
5 8 3 entry Ljava/security/KeyStore$Entry;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
cert
public synchronized void engineDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
ifeq 3
2: new java.security.KeyStoreException
dup
ldc "token write-protected"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
4: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/P11KeyStore;
0 6 1 alias Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
private boolean deleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 2
start local 2 1: aload 2
ifnull 20
2: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 6
4: aload 0
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
invokevirtual sun.security.pkcs11.P11KeyStore.destroyCert:([B)Z
5: ireturn
6: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 12
7: aload 0
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
invokevirtual sun.security.pkcs11.P11KeyStore.destroyPkey:([B)Z
ifeq 10
8: aload 0
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
11: ireturn
12: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 15
13: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.destroySkey:(Ljava/lang/String;)Z
14: ireturn
15: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
ldc "unexpected entry type"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 3
start local 3 17: new java.security.KeyStoreException
dup
aload 3
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 18: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 3
start local 3 19: new java.security.KeyStoreException
dup
aload 3
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/pkcs11/P11KeyStore;
0 21 1 alias Ljava/lang/String;
1 21 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
17 18 3 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
19 20 3 ce Ljava/security/cert/CertificateException;
Exception table:
from to target type
3 5 16 Class sun.security.pkcs11.wrapper.PKCS11Exception
6 11 16 Class sun.security.pkcs11.wrapper.PKCS11Exception
12 14 16 Class sun.security.pkcs11.wrapper.PKCS11Exception
15 16 16 Class sun.security.pkcs11.wrapper.PKCS11Exception
3 5 18 Class java.security.cert.CertificateException
6 11 18 Class java.security.cert.CertificateException
12 14 18 Class java.security.cert.CertificateException
15 16 18 Class java.security.cert.CertificateException
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
public synchronized java.util.Enumeration<java.lang.String> engineAliases();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: new java.util.HashSet
dup
aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
public synchronized boolean engineContainsAlias(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public synchronized int engineSize();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
public synchronized boolean engineIsKeyEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 4
3: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
0 5 1 alias Ljava/lang/String;
2 5 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
MethodParameters:
Name Flags
alias
public synchronized boolean engineIsCertificateEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 4
3: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
0 5 1 alias Ljava/lang/String;
2 5 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
MethodParameters:
Name Flags
alias
public synchronized java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.engineAliases:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 7
3: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: aload 0
aload 3
invokevirtual sun.security.pkcs11.P11KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 4
start local 4 5: aload 4
ifnull 7
aload 4
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 3
areturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
8: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/P11KeyStore;
0 9 1 cert Ljava/security/cert/Certificate;
2 9 2 e Ljava/util/Enumeration<Ljava/lang/String;>;
4 7 3 alias Ljava/lang/String;
5 7 4 tokenCert Ljava/security/cert/Certificate;
MethodParameters:
Name Flags
cert
public synchronized void engineStore(java.io.OutputStream, char[]);
descriptor: (Ljava/io/OutputStream;[C)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
ifnull 3
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 3
2: new java.io.IOException
dup
ldc "output stream must be null"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
ifnull 5
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 5
4: new java.io.IOException
dup
ldc "password must be null"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/P11KeyStore;
0 6 1 stream Ljava/io/OutputStream;
0 6 2 password [C
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public synchronized void engineStore(java.security.KeyStore$LoadStoreParameter);
descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
ifnull 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "LoadStoreParameter must be null"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/P11KeyStore;
0 6 1 param Ljava/security/KeyStore$LoadStoreParameter;
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
param
public synchronized void engineLoad(java.io.InputStream, char[]);
descriptor: (Ljava/io/InputStream;[C)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
ifnull 3
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 3
2: new java.io.IOException
dup
ldc "input stream must be null"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
ifeq 5
4: aload 0
getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 8
6: aload 0
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
dup
aload 2
invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
ifeq 11
10: aload 0
iconst_1
putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
11: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 20
12: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
13: goto 20
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
14: astore 3
start local 3 15: new java.io.IOException
dup
ldc "load failed"
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 16: StackMap locals:
StackMap stack: java.security.KeyStoreException
astore 3
start local 3 17: new java.io.IOException
dup
ldc "load failed"
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 18: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 3
start local 3 19: new java.io.IOException
dup
ldc "load failed"
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/pkcs11/P11KeyStore;
0 21 1 stream Ljava/io/InputStream;
0 21 2 password [C
15 16 3 le Ljavax/security/auth/login/LoginException;
17 18 3 kse Ljava/security/KeyStoreException;
19 20 3 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
5 13 14 Class javax.security.auth.login.LoginException
5 13 16 Class java.security.KeyStoreException
5 13 18 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public synchronized void engineLoad(java.security.KeyStore$LoadStoreParameter);
descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
ifnonnull 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "invalid null LoadStoreParameter"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
ifeq 10
6: aload 1
instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
ifeq 9
7: aload 0
aload 1
checkcast sun.security.pkcs11.Secmod$KeyStoreLoadParameter
invokevirtual sun.security.pkcs11.Secmod$KeyStoreLoadParameter.getTrustType:()Lsun/security/pkcs11/Secmod$TrustType;
putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.security.KeyStore$LoadStoreParameter.getProtectionParameter:()Ljava/security/KeyStore$ProtectionParameter;
astore 3
start local 3 11: aload 3
instanceof java.security.KeyStore$PasswordProtection
ifeq 18
12: aload 3
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 4
start local 4 13: aload 4
ifnonnull 16
14: aconst_null
astore 2
start local 2 15: goto 24
end local 2 16: StackMap locals: sun.security.pkcs11.P11KeyStore java.security.KeyStore$LoadStoreParameter top java.security.KeyStore$ProtectionParameter char[]
StackMap stack:
new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
dup
aload 4
invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
astore 2
end local 4 start local 2 17: goto 24
end local 2 StackMap locals:
StackMap stack:
18: aload 3
instanceof java.security.KeyStore$CallbackHandlerProtection
ifeq 21
19: aload 3
checkcast java.security.KeyStore$CallbackHandlerProtection
invokevirtual java.security.KeyStore$CallbackHandlerProtection.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
astore 2
start local 2 20: goto 24
end local 2 21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
22: ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
23: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 2 24: StackMap locals: sun.security.pkcs11.P11KeyStore java.security.KeyStore$LoadStoreParameter javax.security.auth.callback.CallbackHandler java.security.KeyStore$ProtectionParameter
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
25: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
ifeq 27
26: aload 0
iconst_1
putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
27: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 36
28: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
29: goto 36
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
30: astore 4
start local 4 31: new java.io.IOException
dup
ldc "load failed"
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 32: StackMap locals:
StackMap stack: java.security.KeyStoreException
astore 4
start local 4 33: new java.io.IOException
dup
ldc "load failed"
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 34: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 4
start local 4 35: new java.io.IOException
dup
ldc "load failed"
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 36: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/pkcs11/P11KeyStore;
0 37 1 param Ljava/security/KeyStore$LoadStoreParameter;
15 16 2 handler Ljavax/security/auth/callback/CallbackHandler;
17 18 2 handler Ljavax/security/auth/callback/CallbackHandler;
20 21 2 handler Ljavax/security/auth/callback/CallbackHandler;
24 37 2 handler Ljavax/security/auth/callback/CallbackHandler;
11 37 3 pp Ljava/security/KeyStore$ProtectionParameter;
13 17 4 password [C
31 32 4 e Ljavax/security/auth/login/LoginException;
33 34 4 e Ljava/security/KeyStoreException;
35 36 4 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
24 29 30 Class javax.security.auth.login.LoginException
24 29 32 Class java.security.KeyStoreException
24 29 34 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
param
private void login(javax.security.auth.callback.CallbackHandler);
descriptor: (Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
ldc 256
land
lconst_0
lcmp
ifne 3
1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
aconst_null
aload 1
invokevirtual sun.security.pkcs11.SunPKCS11.login:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
ifnull 6
4: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 6
5: new javax.security.auth.login.LoginException
dup
ldc "can not specify password if token supports protected authentication path"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
aconst_null
aconst_null
invokevirtual sun.security.pkcs11.SunPKCS11.login:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/P11KeyStore;
0 8 1 handler Ljavax/security/auth/callback/CallbackHandler;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
handler
public synchronized java.security.KeyStore$Entry engineGetEntry(java.lang.String, java.security.KeyStore$ProtectionParameter);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 2
ifnull 6
2: aload 2
instanceof java.security.KeyStore$PasswordProtection
ifeq 6
3: aload 2
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnull 6
4: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 6
5: new java.security.KeyStoreException
dup
ldc "ProtectionParameter must be null"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 3
start local 3 7: aload 3
ifnonnull 14
8: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 13
9: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "engineGetEntry did not find alias ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "] in map"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aconst_null
areturn
14: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 15: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 4
16: aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 22
17: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 19
18: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "engineGetEntry found trusted cert entry"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: StackMap locals: sun.security.pkcs11.Session
StackMap stack:
new java.security.KeyStore$TrustedCertificateEntry
dup
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;)V
astore 9
20: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
21: aload 9
areturn
22: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 36
23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 25
24: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "engineGetEntry found secret key entry"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 0
26: aload 4
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aconst_null
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.label:Ljava/lang/String;
27: invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 5
start local 5 28: aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 32
29: new java.security.KeyStoreException
dup
30: ldc "expected but could not find secret key"
31: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
aload 4
aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.P11KeyStore.loadSkey:(Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
astore 6
start local 6 33: new java.security.KeyStore$SecretKeyEntry
dup
aload 6
invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
astore 9
34: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
35: aload 9
areturn
end local 6 end local 5 36: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 38
37: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "engineGetEntry found private key entry"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
38: StackMap locals:
StackMap stack:
aload 0
39: aload 4
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
aconst_null
40: invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 5
start local 5 41: aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 45
42: new java.security.KeyStoreException
dup
43: ldc "expected but could not find private key"
44: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
aload 4
aload 5
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.P11KeyStore.loadPkey:(Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
astore 6
start local 6 46: aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
astore 7
start local 7 47: aload 6
ifnull 51
aload 7
ifnull 51
48: new java.security.KeyStore$PrivateKeyEntry
dup
aload 6
aload 7
invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
astore 9
49: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
50: aload 9
areturn
51: StackMap locals: java.security.PrivateKey java.security.cert.Certificate[]
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 55
52: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
53: ldc "engineGetEntry got null cert chain or private key"
54: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 55: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
56: aconst_null
areturn
57: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 5
start local 5 58: new java.security.KeyStoreException
dup
aload 5
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 59: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
60: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
61: aload 8
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lsun/security/pkcs11/P11KeyStore;
0 62 1 alias Ljava/lang/String;
0 62 2 protParam Ljava/security/KeyStore$ProtectionParameter;
7 62 3 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
15 62 4 session Lsun/security/pkcs11/Session;
28 36 5 h Lsun/security/pkcs11/P11KeyStore$THandle;
33 36 6 skey Ljavax/crypto/SecretKey;
41 55 5 h Lsun/security/pkcs11/P11KeyStore$THandle;
46 55 6 pkey Ljava/security/PrivateKey;
47 55 7 chain [Ljava/security/cert/Certificate;
58 59 5 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
15 20 57 Class sun.security.pkcs11.wrapper.PKCS11Exception
22 34 57 Class sun.security.pkcs11.wrapper.PKCS11Exception
36 49 57 Class sun.security.pkcs11.wrapper.PKCS11Exception
51 55 57 Class sun.security.pkcs11.wrapper.PKCS11Exception
15 20 59 any
22 34 59 any
36 49 59 any
51 55 59 any
57 59 59 any
Exceptions:
throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
MethodParameters:
Name Flags
alias
protParam
public synchronized void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
2: aload 3
ifnull 9
3: aload 3
instanceof java.security.KeyStore$PasswordProtection
ifeq 9
4: aload 3
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnull 9
5: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
ifne 9
6: new java.security.KeyStoreException
dup
new java.lang.UnsupportedOperationException
dup
7: ldc "ProtectionParameter must be null"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
8: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
ifeq 11
10: new java.security.KeyStoreException
dup
ldc "token write-protected"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$TrustedCertificateEntry
ifeq 34
12: aload 0
getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
ifne 16
13: new java.security.KeyStoreException
dup
new java.lang.UnsupportedOperationException
dup
14: ldc "trusted certificates may only be set by token initialization application"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
15: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
getfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
astore 4
start local 4 17: aload 4
getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
if_acmpeq 19
aload 4
getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
if_acmpeq 19
18: new java.security.KeyStoreException
dup
ldc "Trusted certificates can only be added to the NSS KeyStore module"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: sun.security.pkcs11.Secmod$Module
StackMap stack:
aload 2
checkcast java.security.KeyStore$TrustedCertificateEntry
invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
astore 5
start local 5 20: aload 5
instanceof java.security.cert.X509Certificate
ifne 22
21: new java.security.KeyStoreException
dup
ldc "Certificate must be an X509Certificate"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: java.security.cert.Certificate
StackMap stack:
aload 5
checkcast java.security.cert.X509Certificate
astore 6
start local 6 23: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 7
start local 7 24: aload 7
ifnull 26
25: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
pop
26: StackMap locals: java.security.cert.X509Certificate sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack:
aload 0
aload 1
aload 6
invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
27: aload 4
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 6
invokevirtual sun.security.pkcs11.Secmod$Module.setTrust:(Lsun/security/pkcs11/Token;Ljava/security/cert/X509Certificate;)V
28: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
pop
29: goto 102
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
30: astore 8
start local 8 31: new java.security.KeyStoreException
dup
aload 8
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 32: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 8
start local 8 33: new java.security.KeyStoreException
dup
aload 8
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 34: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter
StackMap stack:
aload 2
instanceof java.security.KeyStore$PrivateKeyEntry
ifeq 82
35: aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
36: astore 4
start local 4 37: aload 4
instanceof sun.security.pkcs11.P11Key
ifne 45
38: aload 4
instanceof java.security.interfaces.RSAPrivateKey
ifne 45
39: aload 4
instanceof java.security.interfaces.DSAPrivateKey
ifne 45
40: aload 4
instanceof javax.crypto.interfaces.DHPrivateKey
ifne 45
41: aload 4
instanceof java.security.interfaces.ECPrivateKey
ifne 45
42: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "unsupported key type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
43: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: java.security.PrivateKey
StackMap stack:
aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
46: astore 5
start local 5 47: aload 5
instanceof java.security.cert.X509Certificate[]
ifne 55
48: new java.security.KeyStoreException
dup
49: new java.lang.UnsupportedOperationException
dup
50: new java.lang.StringBuilder
dup
ldc "unsupported certificate array type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
54: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
55: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iconst_0
istore 6
start local 6 56: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 7
start local 7 57: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 73
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set top java.util.Iterator
StackMap stack:
58: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 59: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 10
start local 10 60: aload 10
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 73
61: aload 10
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
62: aload 5
iconst_0
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
63: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
64: ifeq 73
65: aload 0
aload 1
66: aload 10
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
67: aload 5
checkcast java.security.cert.X509Certificate[]
68: aload 10
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
aload 5
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 69
iconst_0
goto 70
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set java.lang.String java.util.Iterator sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[]
69: iconst_1
70: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set java.lang.String java.util.Iterator sun.security.pkcs11.P11KeyStore$AliasInfo
StackMap stack: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[] int
invokevirtual sun.security.pkcs11.P11KeyStore.updatePkey:(Ljava/lang/String;[B[Ljava/security/cert/X509Certificate;Z)V
71: iconst_1
istore 6
72: goto 74
end local 10 end local 8 73: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
74: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set
StackMap stack:
iload 6
ifne 94
75: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
76: aload 0
aload 1
aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
invokevirtual sun.security.pkcs11.P11KeyStore.storePkey:(Ljava/lang/String;Ljava/security/KeyStore$PrivateKeyEntry;)V
end local 7 end local 6 77: goto 94
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[]
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
78: astore 6
start local 6 79: new java.security.KeyStoreException
dup
aload 6
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 80: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 6
start local 6 81: new java.security.KeyStoreException
dup
aload 6
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 82: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$SecretKeyEntry
ifeq 91
83: aload 2
checkcast java.security.KeyStore$SecretKeyEntry
astore 4
start local 4 84: aload 4
invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
pop
85: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.updateSkey:(Ljava/lang/String;)Z
ifne 94
86: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
87: aload 0
aload 1
aload 4
invokevirtual sun.security.pkcs11.P11KeyStore.storeSkey:(Ljava/lang/String;Ljava/security/KeyStore$SecretKeyEntry;)V
88: goto 94
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.KeyStore$SecretKeyEntry
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
89: astore 5
start local 5 90: new java.security.KeyStoreException
dup
aload 5
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 91: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.UnsupportedOperationException
dup
92: new java.lang.StringBuilder
dup
ldc "unsupported entry type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
93: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
94: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
pop
95: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 102
96: aload 0
invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
97: goto 102
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
98: astore 4
start local 4 99: new java.security.KeyStoreException
dup
aload 4
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 100: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 4
start local 4 101: new java.security.KeyStoreException
dup
aload 4
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 102: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 109
103: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
104: new java.lang.StringBuilder
dup
ldc "engineSetEntry added new entry for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
105: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
106: ldc "] to token"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
107: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
109: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 110 0 this Lsun/security/pkcs11/P11KeyStore;
0 110 1 alias Ljava/lang/String;
0 110 2 entry Ljava/security/KeyStore$Entry;
0 110 3 protParam Ljava/security/KeyStore$ProtectionParameter;
17 34 4 module Lsun/security/pkcs11/Secmod$Module;
20 34 5 cert Ljava/security/cert/Certificate;
23 34 6 xcert Ljava/security/cert/X509Certificate;
24 34 7 info Lsun/security/pkcs11/P11KeyStore$AliasInfo;
31 32 8 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
33 34 8 e Ljava/security/cert/CertificateException;
37 82 4 key Ljava/security/PrivateKey;
47 82 5 chain [Ljava/security/cert/Certificate;
56 77 6 updatedAlias Z
57 77 7 aliases Ljava/util/Set<Ljava/lang/String;>;
59 73 8 oldAlias Ljava/lang/String;
60 73 10 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
79 80 6 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
81 82 6 ce Ljava/security/cert/CertificateException;
84 91 4 ske Ljava/security/KeyStore$SecretKeyEntry;
90 91 5 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
99 100 4 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
101 102 4 ce Ljava/security/cert/CertificateException;
Exception table:
from to target type
26 29 30 Class sun.security.pkcs11.wrapper.PKCS11Exception
26 29 32 Class java.security.cert.CertificateException
55 77 78 Class sun.security.pkcs11.wrapper.PKCS11Exception
55 77 80 Class java.security.cert.CertificateException
85 88 89 Class sun.security.pkcs11.wrapper.PKCS11Exception
94 97 98 Class sun.security.pkcs11.wrapper.PKCS11Exception
94 97 100 Class java.security.cert.CertificateException
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
entry
protParam
public synchronized boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore$Entry>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
aload 1
aload 2
invokespecial java.security.KeyStoreSpi.engineEntryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11KeyStore;
0 2 1 alias Ljava/lang/String;
0 2 2 entryClass Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
MethodParameters:
Name Flags
alias
entryClass
private java.security.cert.X509Certificate loadCert(sun.security.pkcs11.Session, long);
descriptor: (Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
1: astore 4
start local 4 2: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
3: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 5
start local 5 4: aload 5
ifnonnull 8
5: new java.security.cert.CertificateException
dup
6: ldc "unexpectedly retrieved null byte array"
7: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] byte[]
StackMap stack:
ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 6
start local 6 9: aload 6
10: new java.io.ByteArrayInputStream
dup
aload 5
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
11: invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/pkcs11/P11KeyStore;
0 12 1 session Lsun/security/pkcs11/Session;
0 12 2 oHandle J
2 12 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
4 12 5 bytes [B
9 12 6 cf Ljava/security/cert/CertificateFactory;
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
MethodParameters:
Name Flags
session
oHandle
private java.security.cert.X509Certificate[] loadChain(sun.security.pkcs11.Session, java.security.cert.X509Certificate);
descriptor: (Lsun/security/pkcs11/Session;Ljava/security/cert/X509Certificate;)[Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
2: aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
3: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
4: ifeq 6
5: iconst_1
anewarray java.security.cert.X509Certificate
dup
iconst_0
aload 2
aastore
areturn
6: StackMap locals: java.util.ArrayList
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
7: aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 2
astore 4
start local 4 9: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
10: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
11: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
12: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 257
13: aload 4
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
14: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
15: astore 5
start local 5 16: aload 1
aload 5
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 6
start local 6 17: aload 6
ifnull 32
aload 6
arraylength
ifne 19
18: goto 32
19: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[]
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 26
aload 6
arraylength
iconst_1
if_icmple 26
20: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "engineGetEntry found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
22: ldc " certificate entries for subject ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 4
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "] in token - using first entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
iconst_0
laload
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
astore 4
27: aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
28: aload 4
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
29: aload 4
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
30: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
31: ifeq 9
end local 6 end local 5 32: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray java.security.cert.X509Certificate
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
areturn
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/pkcs11/P11KeyStore;
0 33 1 session Lsun/security/pkcs11/Session;
0 33 2 endCert Ljava/security/cert/X509Certificate;
1 33 3 lChain Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
9 33 4 next Ljava/security/cert/X509Certificate;
16 32 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
17 32 6 ch [J
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
MethodParameters:
Name Flags
session
endCert
private javax.crypto.SecretKey loadSkey(sun.security.pkcs11.Session, long);
descriptor: (Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
1: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
2: astore 4
start local 4 3: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
4: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
lstore 5
start local 5 5: aconst_null
astore 7
start local 7 6: iconst_m1
istore 8
start local 8 7: lload 5
ldc 19
lcmp
ifeq 8
lload 5
ldc 21
lcmp
ifne 16
8: StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int
StackMap stack:
lload 5
ldc 19
lcmp
ifne 12
9: ldc "DES"
astore 7
10: bipush 64
istore 8
11: goto 34
StackMap locals:
StackMap stack:
12: lload 5
ldc 21
lcmp
ifne 34
13: ldc "DESede"
astore 7
14: sipush 192
istore 8
15: goto 34
16: StackMap locals:
StackMap stack:
lload 5
ldc 31
lcmp
ifne 19
17: ldc "AES"
astore 7
18: goto 31
StackMap locals:
StackMap stack:
19: lload 5
ldc 32
lcmp
ifne 22
20: ldc "Blowfish"
astore 7
21: goto 31
StackMap locals:
StackMap stack:
22: lload 5
ldc 18
lcmp
ifne 25
23: ldc "ARCFOUR"
astore 7
24: goto 31
25: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 30
26: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "unknown key type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
28: ldc "] - using 'Generic Secret'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
ldc "Generic Secret"
astore 7
31: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 353
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
32: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
33: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
l2i
istore 8
34: StackMap locals:
StackMap stack:
aload 1
lload 2
aload 7
iload 8
aconst_null
invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
areturn
end local 8 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/pkcs11/P11KeyStore;
0 35 1 session Lsun/security/pkcs11/Session;
0 35 2 oHandle J
3 35 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
5 35 5 kType J
6 35 7 keyType Ljava/lang/String;
7 35 8 keyLength I
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
session
oHandle
private java.security.PrivateKey loadPkey(sun.security.pkcs11.Session, long);
descriptor: (Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
1: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
2: astore 4
start local 4 3: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
4: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
lstore 5
start local 5 5: aconst_null
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: lload 5
lconst_0
lcmp
ifne 25
8: ldc "RSA"
astore 7
9: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
10: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
11: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
astore 9
start local 9 12: aload 9
invokevirtual java.math.BigInteger.bitLength:()I
istore 8
13: iload 8
aconst_null
14: iconst_m1
ldc 2147483647
15: invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
16: goto 19
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int java.math.BigInteger
StackMap stack: java.security.InvalidKeyException
17: astore 10
start local 10 18: new java.security.KeyStoreException
dup
aload 10
invokevirtual java.security.InvalidKeyException.getMessage:()Ljava/lang/String;
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 10 19: StackMap locals:
StackMap stack:
aload 1
20: lload 2
21: aload 7
22: iload 8
23: aconst_null
24: invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
areturn
end local 9 25: StackMap locals:
StackMap stack:
lload 5
lconst_1
lcmp
ifne 37
26: ldc "DSA"
astore 7
27: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
28: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
29: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
astore 9
start local 9 30: aload 9
invokevirtual java.math.BigInteger.bitLength:()I
istore 8
31: aload 1
32: lload 2
33: aload 7
34: iload 8
35: aconst_null
36: invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
areturn
end local 9 37: StackMap locals:
StackMap stack:
lload 5
ldc 2
lcmp
ifne 49
38: ldc "DH"
astore 7
39: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
40: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
41: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
astore 9
start local 9 42: aload 9
invokevirtual java.math.BigInteger.bitLength:()I
istore 8
43: aload 1
44: lload 2
45: aload 7
46: iload 8
47: aconst_null
48: invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
areturn
end local 9 49: StackMap locals:
StackMap stack:
lload 5
ldc 3
lcmp
ifne 61
50: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
51: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 384
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
52: astore 4
53: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 2
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
54: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 9
start local 9 55: aload 9
invokestatic sun.security.ec.ECParameters.decodeParameters:([B)Ljava/security/spec/ECParameterSpec;
astore 10
start local 10 56: aload 10
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
invokeinterface java.security.spec.ECField.getFieldSize:()I
istore 8
end local 10 57: goto 60
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int byte[]
StackMap stack: java.io.IOException
58: astore 10
start local 10 59: new java.security.KeyStoreException
dup
ldc "Unsupported parameters"
aload 10
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 60: StackMap locals:
StackMap stack:
aload 1
lload 2
ldc "EC"
iload 8
aconst_null
invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
areturn
end local 9 61: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 63
62: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "unknown key type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
63: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
ldc "unknown key type"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lsun/security/pkcs11/P11KeyStore;
0 64 1 session Lsun/security/pkcs11/Session;
0 64 2 oHandle J
3 64 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
5 64 5 kType J
6 64 7 keyType Ljava/lang/String;
7 64 8 keyLength I
12 25 9 modulus Ljava/math/BigInteger;
18 19 10 e Ljava/security/InvalidKeyException;
30 37 9 prime Ljava/math/BigInteger;
42 49 9 prime Ljava/math/BigInteger;
55 61 9 encodedParams [B
56 57 10 params Ljava/security/spec/ECParameterSpec;
59 60 10 e Ljava/io/IOException;
Exception table:
from to target type
13 16 17 Class java.security.InvalidKeyException
55 57 58 Class java.io.IOException
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
session
oHandle
private boolean updateSkey(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
2: aload 0
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aconst_null
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 3
start local 3 3: aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 10
4: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 8
5: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "did not find secret key with CKA_LABEL ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
8: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
11: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
12: astore 4
start local 4 13: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
14: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 19
15: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "updateSkey set new alias ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc "] for secret key entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
20: iconst_1
ireturn
end local 4 end local 3 21: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 5
22: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
23: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/pkcs11/P11KeyStore;
0 24 1 alias Ljava/lang/String;
1 24 2 session Lsun/security/pkcs11/Session;
3 21 3 h Lsun/security/pkcs11/P11KeyStore$THandle;
13 21 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
Exception table:
from to target type
1 8 21 any
10 19 21 any
Exceptions:
throws java.security.KeyStoreException, sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
alias
private void updatePkey(java.lang.String, byte[], java.security.cert.X509Certificate[], boolean);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/X509Certificate;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
istore 4
1: aconst_null
astore 5
start local 5 2: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 5
3: aload 0
aload 5
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 2
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 6
start local 6 4: aload 6
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 7
5: aload 6
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
lstore 7
start local 7 6: goto 12
end local 7 7: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
new java.security.KeyStoreException
dup
8: new java.lang.StringBuilder
dup
ldc "expected but could not find private key with CKA_ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 2
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
start local 7 12: StackMap locals: long
StackMap stack:
aload 0
aload 5
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 2
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 6
13: aload 6
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 19
14: new java.security.KeyStoreException
dup
15: new java.lang.StringBuilder
dup
ldc "expected but could not find certificate with CKA_ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 2
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
iload 4
ifeq 22
20: aload 0
aload 2
invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
pop
21: goto 29
22: StackMap locals:
StackMap stack:
iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
23: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_1
24: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
25: astore 9
start local 9 26: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
27: aload 5
invokevirtual sun.security.pkcs11.Session.id:()J
aload 6
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
aload 9
28: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
end local 9 29: StackMap locals:
StackMap stack:
iload 4
ifeq 32
30: aload 0
aload 1
aload 3
invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_1
invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
33: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
34: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
35: astore 9
start local 9 36: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 5
invokevirtual sun.security.pkcs11.Session.id:()J
lload 7
aload 9
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
37: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 46
38: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "updatePkey set new alias ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
39: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: ldc "] for private key entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 7 end local 6 42: goto 46
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[] int sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
43: astore 10
44: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
45: aload 10
athrow
46: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
47: return
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 48 0 this Lsun/security/pkcs11/P11KeyStore;
0 48 1 alias Ljava/lang/String;
0 48 2 cka_id [B
0 48 3 chain [Ljava/security/cert/X509Certificate;
0 48 4 replaceCert Z
2 48 5 session Lsun/security/pkcs11/Session;
4 42 6 h Lsun/security/pkcs11/P11KeyStore$THandle;
6 7 7 pKeyHandle J
12 42 7 pKeyHandle J
26 29 9 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
36 42 9 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
Exception table:
from to target type
2 43 43 any
Exceptions:
throws java.security.KeyStoreException, java.security.cert.CertificateException, sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
alias
cka_id
chain
replaceCert
private void updateP11Skey(java.lang.String, sun.security.pkcs11.P11Key);
descriptor: (Ljava/lang/String;Lsun/security/pkcs11/P11Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 3
2: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
3: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
5: astore 4
start local 4 6: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
invokevirtual sun.security.pkcs11.Session.id:()J
aload 2
getfield sun.security.pkcs11.P11Key.keyID:J
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CopyObject:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
7: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 16
8: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "updateP11Skey copied secret session key for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "] to token entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 4 12: goto 16
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.P11Key sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
13: astore 5
14: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
15: aload 5
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/pkcs11/P11KeyStore;
0 18 1 alias Ljava/lang/String;
0 18 2 key Lsun/security/pkcs11/P11Key;
1 18 3 session Lsun/security/pkcs11/Session;
6 12 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
Exception table:
from to target type
1 13 13 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
alias
key
private void updateP11Pkey(java.lang.String, sun.security.pkcs11.wrapper.CK_ATTRIBUTE, sun.security.pkcs11.P11Key);
descriptor: (Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 4
2: aload 3
getfield sun.security.pkcs11.P11Key.tokenObject:Z
ifeq 15
3: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
5: astore 5
start local 5 6: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
7: aload 4
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11Key.keyID:J
aload 5
8: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
9: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 31
10: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "updateP11Pkey set new alias ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "] for key entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 14: goto 31
15: StackMap locals: sun.security.pkcs11.Session
StackMap stack:
iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
16: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
17: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
18: astore 5
start local 5 19: aload 2
ifnull 21
20: aload 5
aload 2
invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 5
21: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 4
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11Key.keyID:J
aload 5
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CopyObject:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
22: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 31
23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "updateP11Pkey copied private session key for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "] to token entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 27: goto 31
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.wrapper.CK_ATTRIBUTE sun.security.pkcs11.P11Key sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
28: astore 6
29: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
30: aload 6
athrow
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
32: return
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/pkcs11/P11KeyStore;
0 33 1 alias Ljava/lang/String;
0 33 2 attribute Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
0 33 3 key Lsun/security/pkcs11/P11Key;
1 33 4 session Lsun/security/pkcs11/Session;
6 14 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
19 27 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
Exception table:
from to target type
1 28 28 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
alias
attribute
key
private void storeCert(java.lang.String, java.security.cert.X509Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 3
getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 3
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 3
getstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 257
5: aload 2
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
6: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 129
8: aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
9: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 130
11: aload 2
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
12: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
13: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
aload 2
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
14: aload 1
ifnull 18
15: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
17: goto 25
18: StackMap locals: java.util.ArrayList
StackMap stack:
aload 3
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
19: aload 0
aload 2
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
20: ldc "CANONICAL"
21: invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
22: aload 2
23: invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
24: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 26: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 4
27: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 4
invokevirtual sun.security.pkcs11.Session.id:()J
28: aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
29: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
30: goto 34
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.cert.X509Certificate java.util.ArrayList sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
31: astore 5
32: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
33: aload 5
athrow
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
35: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11KeyStore;
0 36 1 alias Ljava/lang/String;
0 36 2 cert Ljava/security/cert/X509Certificate;
1 36 3 attrList Ljava/util/ArrayList<Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;>;
26 36 4 session Lsun/security/pkcs11/Session;
Exception table:
from to target type
26 31 31 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
MethodParameters:
Name Flags
alias
cert
private void storeChain(java.lang.String, java.security.cert.X509Certificate[]);
descriptor: (Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
aaload
invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
1: aload 0
aload 2
iconst_1
invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs11/P11KeyStore;
0 3 1 alias Ljava/lang/String;
0 3 2 chain [Ljava/security/cert/X509Certificate;
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
MethodParameters:
Name Flags
alias
chain
private void storeCaCerts(java.security.cert.X509Certificate[], int);
descriptor: ([Ljava/security/cert/X509Certificate;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 2: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 3
3: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
4: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
5: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
6: astore 5
start local 5 7: aload 3
aload 5
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 6
start local 6 8: aload 6
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 12
StackMap locals: sun.security.pkcs11.P11KeyStore java.security.cert.X509Certificate[] int sun.security.pkcs11.Session java.util.HashSet sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] top top int int long[]
StackMap stack:
9: aload 11
iload 9
laload
lstore 7
start local 7 10: aload 4
aload 0
aload 3
lload 7
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 7 11: iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
iload 10
if_icmplt 9
end local 6 end local 5 13: goto 17
StackMap locals: sun.security.pkcs11.P11KeyStore java.security.cert.X509Certificate[] int sun.security.pkcs11.Session java.util.HashSet
StackMap stack: java.lang.Throwable
14: astore 12
15: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
16: aload 12
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
18: iload 2
istore 5
start local 5 19: goto 29
20: StackMap locals: int
StackMap stack:
aload 4
aload 1
iload 5
aaload
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 23
21: aload 0
aconst_null
aload 1
iload 5
aaload
invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
22: goto 28
StackMap locals:
StackMap stack:
23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 28
24: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "ignoring duplicate CA cert for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 1
iload 5
aaload
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
29: iload 5
aload 1
arraylength
if_icmplt 20
end local 5 30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/pkcs11/P11KeyStore;
0 31 1 chain [Ljava/security/cert/X509Certificate;
0 31 2 start I
1 31 3 session Lsun/security/pkcs11/Session;
2 31 4 cacerts Ljava/util/HashSet<Ljava/security/cert/X509Certificate;>;
7 13 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
8 13 6 handles [J
10 11 7 handle J
19 30 5 i I
Exception table:
from to target type
2 14 14 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
start
private void storeSkey(java.lang.String, java.security.KeyStore$SecretKeyEntry);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$SecretKeyEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
astore 3
start local 3 1: ldc 16
lstore 4
start local 4 2: aload 3
instanceof sun.security.pkcs11.P11Key
ifeq 5
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 3
checkcast sun.security.pkcs11.P11Key
getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
if_acmpne 5
3: aload 0
aload 1
aload 3
checkcast sun.security.pkcs11.P11Key
invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Skey:(Ljava/lang/String;Lsun/security/pkcs11/P11Key;)V
4: return
5: StackMap locals: javax.crypto.SecretKey long
StackMap stack:
ldc "AES"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
6: ldc 31
lstore 4
7: goto 20
StackMap locals:
StackMap stack:
8: ldc "Blowfish"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 11
9: ldc 32
lstore 4
10: goto 20
StackMap locals:
StackMap stack:
11: ldc "DES"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
12: ldc 19
lstore 4
13: goto 20
StackMap locals:
StackMap stack:
14: ldc "DESede"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 17
15: ldc 21
lstore 4
16: goto 20
StackMap locals:
StackMap stack:
17: ldc "RC4"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 19
18: ldc "ARCFOUR"
aload 3
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 20
19: StackMap locals:
StackMap stack:
ldc 18
lstore 4
20: StackMap locals:
StackMap stack:
bipush 6
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
21: getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
22: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
23: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
24: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lload 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
25: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_5
26: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
aload 3
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
27: astore 6
start local 6 28: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
29: ldc "import"
ldc 4
lload 4
aload 6
30: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 6
31: aconst_null
astore 7
start local 7 32: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 7
33: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 7
invokevirtual sun.security.pkcs11.Session.id:()J
aload 6
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
34: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 43
35: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "storeSkey created token secret key for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
39: goto 43
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$SecretKeyEntry javax.crypto.SecretKey long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
40: astore 8
41: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 7
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
42: aload 8
athrow
43: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 7
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
44: return
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/pkcs11/P11KeyStore;
0 45 1 alias Ljava/lang/String;
0 45 2 ske Ljava/security/KeyStore$SecretKeyEntry;
1 45 3 skey Ljavax/crypto/SecretKey;
2 45 4 keyType J
28 45 6 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
32 45 7 session Lsun/security/pkcs11/Session;
Exception table:
from to target type
32 40 40 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
alias
ske
private static sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] addAttribute(sun.security.pkcs11.wrapper.CK_ATTRIBUTE[], sun.security.pkcs11.wrapper.CK_ATTRIBUTE);
descriptor: ([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
arraylength
istore 2
start local 2 1: iload 2
iconst_1
iadd
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 3
start local 3 2: aload 0
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 3
iload 2
aload 1
aastore
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
0 5 1 attr Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
1 5 2 n I
2 5 3 newAttrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
MethodParameters:
Name Flags
attrs
attr
private void storePkey(java.lang.String, java.security.KeyStore$PrivateKeyEntry);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$PrivateKeyEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 3
instanceof sun.security.pkcs11.P11Key
ifeq 8
3: aload 3
checkcast sun.security.pkcs11.P11Key
astore 5
start local 5 4: aload 5
getfield sun.security.pkcs11.P11Key.tokenObject:Z
ifeq 8
aload 5
getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
if_acmpne 8
5: aload 0
aload 1
aconst_null
aload 5
invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Pkey:(Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
6: aload 0
aload 1
aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate[]
invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
7: return
end local 5 8: StackMap locals: java.security.PrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getNssNetscapeDbWorkaround:()Z
istore 5
start local 5 9: aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificate:()Ljava/security/cert/Certificate;
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 6
start local 6 10: aload 3
instanceof java.security.interfaces.RSAPrivateKey
ifeq 16
11: aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificate:()Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 7
start local 7 12: aload 0
13: aload 1
aload 3
checkcast java.security.interfaces.RSAPrivateKey
aload 7
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
14: invokevirtual sun.security.pkcs11.P11KeyStore.getRsaPrivKeyAttrs:(Ljava/lang/String;Ljava/security/interfaces/RSAPrivateKey;Ljavax/security/auth/x500/X500Principal;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
end local 7 15: goto 98
StackMap locals: int java.security.PublicKey
StackMap stack:
16: aload 3
instanceof java.security.interfaces.DSAPrivateKey
ifeq 40
17: aload 3
checkcast java.security.interfaces.DSAPrivateKey
astore 7
start local 7 18: aload 0
aload 3
aload 6
iconst_0
iload 5
invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 8
start local 8 19: aload 8
iconst_0
aaload
ifnonnull 21
20: aload 8
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
21: StackMap locals: java.security.interfaces.DSAPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
bipush 9
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
22: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
23: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
24: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
25: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lconst_1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
26: aload 8
iconst_0
aaload
aastore
dup
iconst_5
27: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
aload 7
invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
28: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 305
aload 7
invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 7
29: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 306
aload 7
invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 8
30: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
aload 7
invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
31: astore 4
32: aload 8
iconst_1
aaload
ifnull 34
33: aload 4
aload 8
iconst_1
aaload
invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
35: ldc "import"
ldc 3
lconst_1
aload 4
36: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
37: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 98
38: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "storePkey created DSA template"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 8 end local 7 39: goto 98
StackMap locals:
StackMap stack:
40: aload 3
instanceof javax.crypto.interfaces.DHPrivateKey
ifeq 61
41: aload 3
checkcast javax.crypto.interfaces.DHPrivateKey
astore 7
start local 7 42: aload 0
aload 3
aload 6
iconst_0
iload 5
invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 8
start local 8 43: aload 8
iconst_0
aaload
ifnonnull 45
44: aload 8
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
45: StackMap locals: javax.crypto.interfaces.DHPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
bipush 8
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
46: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
47: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
48: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
49: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
ldc 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
50: aload 8
iconst_0
aaload
aastore
dup
iconst_5
51: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
aload 7
invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
52: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 306
aload 7
invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 7
53: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
aload 7
invokeinterface javax.crypto.interfaces.DHPrivateKey.getX:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
54: astore 4
55: aload 8
iconst_1
aaload
ifnull 57
56: aload 4
aload 8
iconst_1
aaload
invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
57: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
58: ldc "import"
ldc 3
ldc 2
aload 4
59: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
end local 8 end local 7 60: goto 98
StackMap locals:
StackMap stack:
61: aload 3
instanceof java.security.interfaces.ECPrivateKey
ifeq 84
62: aload 3
checkcast java.security.interfaces.ECPrivateKey
astore 7
start local 7 63: aload 0
aload 3
aload 6
iconst_0
iload 5
invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 8
start local 8 64: aload 8
iconst_0
aaload
ifnonnull 66
65: aload 8
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
66: StackMap locals: java.security.interfaces.ECPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 7
invokeinterface java.security.interfaces.ECPrivateKey.getParams:()Ljava/security/spec/ECParameterSpec;
invokestatic sun.security.ec.ECParameters.encodeParameters:(Ljava/security/spec/ECParameterSpec;)[B
astore 9
start local 9 67: bipush 7
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
68: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
69: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
70: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
71: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
72: aload 8
iconst_0
aaload
aastore
dup
iconst_5
73: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
aload 7
invokeinterface java.security.interfaces.ECPrivateKey.getS:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
74: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 384
aload 9
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
75: astore 4
76: aload 8
iconst_1
aaload
ifnull 78
77: aload 4
aload 8
iconst_1
aaload
invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
78: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
79: ldc "import"
ldc 3
ldc 3
aload 4
80: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
81: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 98
82: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "storePkey created EC template"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 83: goto 98
StackMap locals:
StackMap stack:
84: aload 3
instanceof sun.security.pkcs11.P11Key
ifeq 97
85: aload 3
checkcast sun.security.pkcs11.P11Key
astore 7
start local 7 86: aload 7
getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
if_acmpeq 90
87: new java.security.KeyStoreException
dup
88: ldc "Cannot move sensitive keys across tokens"
89: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
90: StackMap locals: sun.security.pkcs11.P11Key
StackMap stack:
aconst_null
astore 8
start local 8 91: iload 5
ifeq 94
92: aload 0
aload 3
aload 6
iconst_0
iconst_1
invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 9
start local 9 93: aload 9
iconst_1
aaload
astore 8
end local 9 94: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE
StackMap stack:
aload 0
aload 1
aload 8
aload 7
invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Pkey:(Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
95: aload 0
aload 1
aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate[]
invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
96: return
end local 8 end local 7 97: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "unsupported key type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
98: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 99: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 7
100: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 7
invokevirtual sun.security.pkcs11.Session.id:()J
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
101: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 110
102: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "storePkey created token key for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
103: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
104: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
105: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
106: goto 110
StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$PrivateKeyEntry java.security.PrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] int java.security.PublicKey sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
107: astore 8
108: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 7
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
109: aload 8
athrow
110: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 7
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
111: aload 0
aload 1
aload 2
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate[]
invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
112: return
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 113 0 this Lsun/security/pkcs11/P11KeyStore;
0 113 1 alias Ljava/lang/String;
0 113 2 pke Ljava/security/KeyStore$PrivateKeyEntry;
1 113 3 key Ljava/security/PrivateKey;
2 113 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
4 8 5 p11Key Lsun/security/pkcs11/P11Key;
9 113 5 useNDB Z
10 113 6 publicKey Ljava/security/PublicKey;
12 15 7 cert Ljava/security/cert/X509Certificate;
18 39 7 dsaKey Ljava/security/interfaces/DSAPrivateKey;
19 39 8 idAttrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
42 60 7 dhKey Ljavax/crypto/interfaces/DHPrivateKey;
43 60 8 idAttrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
63 83 7 ecKey Ljava/security/interfaces/ECPrivateKey;
64 83 8 idAttrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
67 83 9 encodedParams [B
86 97 7 p11Key Lsun/security/pkcs11/P11Key;
91 97 8 netscapeDB Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
93 94 9 idAttrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
99 113 7 session Lsun/security/pkcs11/Session;
Exception table:
from to target type
99 107 107 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException
MethodParameters:
Name Flags
alias
pke
private sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] getRsaPrivKeyAttrs(java.lang.String, java.security.interfaces.RSAPrivateKey, javax.security.auth.x500.X500Principal);
descriptor: (Ljava/lang/String;Ljava/security/interfaces/RSAPrivateKey;Ljavax/security/auth/x500/X500Principal;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 2
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 40
2: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 4
3: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "creating RSAPrivateCrtKey attrs"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
4: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 2
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 5
start local 5 5: bipush 13
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
6: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
7: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
8: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
9: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lconst_0
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
10: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_5
11: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
12: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
13: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
14: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
15: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
16: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 7
17: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
18: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
19: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 8
20: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 292
21: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
22: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 9
23: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 293
24: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
25: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 10
26: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 294
27: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
28: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 11
29: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 295
30: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
31: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 12
32: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 296
33: aload 5
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
34: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
35: astore 4
36: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
37: ldc "import"
ldc 3
lconst_0
aload 4
38: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
end local 5 39: goto 59
40: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 42
41: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ldc "creating RSAPrivateKey attrs"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 2
astore 5
start local 5 43: bipush 7
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
44: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
45: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
46: getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_3
47: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lconst_0
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_4
48: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_5
49: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
50: aload 5
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
51: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
52: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
53: aload 5
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
54: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
55: astore 4
56: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
57: ldc "import"
ldc 3
lconst_0
aload 4
58: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
end local 5 59: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lsun/security/pkcs11/P11KeyStore;
0 60 1 alias Ljava/lang/String;
0 60 2 key Ljava/security/interfaces/RSAPrivateKey;
0 60 3 subject Ljavax/security/auth/x500/X500Principal;
1 60 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
5 39 5 rsaKey Ljava/security/interfaces/RSAPrivateCrtKey;
43 59 5 rsaKey Ljava/security/interfaces/RSAPrivateKey;
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
alias
key
subject
private sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] getIdAttributes(java.security.PrivateKey, java.security.PublicKey, boolean, boolean);
descriptor: (Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
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: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 5
start local 5 1: iload 3
ifne 3
iload 4
ifne 3
2: aload 5
areturn
3: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 1
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
astore 6
start local 6 4: iload 3
ifeq 8
aload 6
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 2
instanceof java.security.interfaces.RSAPublicKey
ifeq 8
5: aload 2
checkcast java.security.interfaces.RSAPublicKey
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
astore 7
start local 7 6: aload 5
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 7
invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
end local 7 7: goto 33
StackMap locals: java.lang.String
StackMap stack:
8: aload 6
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
aload 2
instanceof java.security.interfaces.DSAPublicKey
ifeq 15
9: aload 2
checkcast java.security.interfaces.DSAPublicKey
invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
astore 7
start local 7 10: iload 3
ifeq 12
11: aload 5
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 7
invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
12: StackMap locals: java.math.BigInteger
StackMap stack:
iload 4
ifeq 33
13: aload 5
iconst_1
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3584088832
aload 7
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
end local 7 14: goto 33
StackMap locals:
StackMap stack:
15: aload 6
ldc "DH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
aload 2
instanceof javax.crypto.interfaces.DHPublicKey
ifeq 22
16: aload 2
checkcast javax.crypto.interfaces.DHPublicKey
invokeinterface javax.crypto.interfaces.DHPublicKey.getY:()Ljava/math/BigInteger;
astore 7
start local 7 17: iload 3
ifeq 19
18: aload 5
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 7
invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
19: StackMap locals: java.math.BigInteger
StackMap stack:
iload 4
ifeq 33
20: aload 5
iconst_1
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3584088832
aload 7
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
end local 7 21: goto 33
StackMap locals:
StackMap stack:
22: aload 6
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
aload 2
instanceof java.security.interfaces.ECPublicKey
ifeq 32
23: aload 2
checkcast java.security.interfaces.ECPublicKey
astore 7
start local 7 24: aload 7
invokeinterface java.security.interfaces.ECPublicKey.getW:()Ljava/security/spec/ECPoint;
astore 8
start local 8 25: aload 7
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
astore 9
start local 9 26: aload 8
aload 9
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokestatic sun.security.ec.ECParameters.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
astore 10
start local 10 27: iload 3
ifeq 29
28: aload 5
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 10
invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
29: StackMap locals: sun.security.pkcs11.P11KeyStore java.security.PrivateKey java.security.PublicKey int int sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] java.lang.String java.security.interfaces.ECPublicKey java.security.spec.ECPoint java.security.spec.ECParameterSpec byte[]
StackMap stack:
iload 4
ifeq 33
30: aload 5
iconst_1
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3584088832
aload 10
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
end local 10 end local 9 end local 8 end local 7 31: goto 33
32: StackMap locals: sun.security.pkcs11.P11KeyStore java.security.PrivateKey java.security.PublicKey int int sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] java.lang.String
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unknown key algorithm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 5
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 34 0 this Lsun/security/pkcs11/P11KeyStore;
0 34 1 privateKey Ljava/security/PrivateKey;
0 34 2 publicKey Ljava/security/PublicKey;
0 34 3 id Z
0 34 4 netscapeDb Z
1 34 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
4 34 6 alg Ljava/lang/String;
6 7 7 n Ljava/math/BigInteger;
10 14 7 y Ljava/math/BigInteger;
17 21 7 y Ljava/math/BigInteger;
24 31 7 ecPub Ljava/security/interfaces/ECPublicKey;
25 31 8 point Ljava/security/spec/ECPoint;
26 31 9 params Ljava/security/spec/ECParameterSpec;
27 31 10 encodedPoint [B
MethodParameters:
Name Flags
privateKey
publicKey
id
netscapeDb
private boolean destroyCert(byte[]);
descriptor: ([B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
2: aload 0
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 1
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 3
start local 3 3: aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 6
4: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
5: iconst_0
ireturn
6: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
7: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 12
8: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroyCert destroyed cert with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 1
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
13: iconst_1
ireturn
end local 3 14: StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 4
15: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
16: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs11/P11KeyStore;
0 17 1 cka_id [B
1 17 2 session Lsun/security/pkcs11/Session;
3 14 3 h Lsun/security/pkcs11/P11KeyStore$THandle;
Exception table:
from to target type
1 4 14 any
6 12 14 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
cka_id
private boolean destroyChain(byte[]);
descriptor: ([B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
2: aload 0
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 1
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 3
start local 3 3: aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 11
4: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 9
5: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroyChain could not find end entity cert with CKA_ID [0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
astore 4
start local 4 12: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
13: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 18
14: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroyChain destroyed end entity cert with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 1
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
18: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 4
astore 5
start local 5 19: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 5
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
20: aload 5
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
21: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
22: ifeq 24
23: goto 72
24: StackMap locals:
StackMap stack:
iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
25: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
26: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
27: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 257
28: aload 5
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
29: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
30: astore 6
start local 6 31: aload 2
aload 6
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 7
start local 7 32: aload 7
ifnull 72
aload 7
arraylength
ifne 34
33: goto 72
34: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[]
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 41
aload 7
arraylength
iconst_1
if_icmple 41
35: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroyChain found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 7
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc " certificate entries for subject ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: aload 5
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
39: ldc "] in token - using first entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 7
iconst_0
laload
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
astore 5
42: iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
43: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
44: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_2
45: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 129
46: aload 5
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
47: invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
48: astore 6
49: aload 2
aload 6
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 8
start local 8 50: iconst_0
istore 9
start local 9 51: aload 8
ifnull 52
aload 8
arraylength
ifne 54
52: StackMap locals: long[] int
StackMap stack:
iconst_1
istore 9
53: goto 58
StackMap locals:
StackMap stack:
54: aload 8
arraylength
iconst_1
if_icmpne 58
55: aload 0
aload 2
aload 8
iconst_0
laload
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
astore 10
start local 10 56: aload 5
aload 10
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 58
57: iconst_1
istore 9
end local 10 58: StackMap locals:
StackMap stack:
iload 9
ifeq 67
59: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 7
iconst_0
laload
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
60: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 19
61: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
62: new java.lang.StringBuilder
dup
ldc "destroyChain destroyed cert in chain with subject ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: aload 5
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
64: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
65: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
66: goto 19
67: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 19
68: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroyChain did not destroy shared cert in chain with subject ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: aload 5
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
70: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 end local 6 71: goto 19
72: StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle java.security.cert.X509Certificate java.security.cert.X509Certificate
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
73: iconst_1
ireturn
end local 5 end local 4 end local 3 74: StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 11
75: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
76: aload 11
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lsun/security/pkcs11/P11KeyStore;
0 77 1 cka_id [B
1 77 2 session Lsun/security/pkcs11/Session;
3 74 3 h Lsun/security/pkcs11/P11KeyStore$THandle;
12 74 4 endCert Ljava/security/cert/X509Certificate;
19 74 5 next Ljava/security/cert/X509Certificate;
31 71 6 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
32 71 7 ch [J
50 71 8 issuers [J
51 71 9 destroyIt Z
56 58 10 iCert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
1 9 74 any
11 72 74 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException
MethodParameters:
Name Flags
cka_id
private boolean destroySkey(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
2: aload 0
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aconst_null
aload 1
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 3
start local 3 3: aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 11
4: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 9
5: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "destroySkey did not find secret key with CKA_LABEL ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
12: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
13: iconst_1
ireturn
end local 3 14: StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 4
15: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
16: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs11/P11KeyStore;
0 17 1 alias Ljava/lang/String;
1 17 2 session Lsun/security/pkcs11/Session;
3 14 3 h Lsun/security/pkcs11/P11KeyStore$THandle;
Exception table:
from to target type
1 9 14 any
11 12 14 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
alias
private boolean destroyPkey(byte[]);
descriptor: ([B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
2: aload 0
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aload 1
aconst_null
invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
astore 3
start local 3 3: aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpeq 13
4: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 11
5: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
6: new java.lang.StringBuilder
dup
ldc "destroyPkey did not find private key with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 1
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
14: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
15: iconst_1
ireturn
end local 3 16: StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 4
17: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
18: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/pkcs11/P11KeyStore;
0 19 1 cka_id [B
1 19 2 session Lsun/security/pkcs11/Session;
3 16 3 h Lsun/security/pkcs11/P11KeyStore$THandle;
Exception table:
from to target type
1 11 16 any
13 14 16 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
cka_id
private java.lang.String getID(java.lang.String, java.security.cert.X509Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 3
start local 3 1: aload 2
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
astore 4
start local 4 2: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 3
ldc "CANONICAL"
invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 4
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()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 8 0 this Lsun/security/pkcs11/P11KeyStore;
0 8 1 alias Ljava/lang/String;
0 8 2 cert Ljava/security/cert/X509Certificate;
1 8 3 issuer Ljavax/security/auth/x500/X500Principal;
2 8 4 serialNum Ljava/math/BigInteger;
MethodParameters:
Name Flags
alias
cert
private static java.lang.String getID(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
baload
i2c
invokestatic sun.security.util.DerValue.isPrintableStringChar:(C)Z
ifne 6
4: iconst_0
istore 1
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 8: StackMap locals:
StackMap stack:
iload 1
ifne 10
9: new java.lang.StringBuilder
dup
ldc "0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
11: areturn
12: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
pop
13: new java.lang.StringBuilder
dup
ldc "0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 bytes [B
1 14 1 printable Z
2 8 2 i I
Exception table:
from to target type
10 11 12 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
bytes
private sun.security.pkcs11.P11KeyStore$THandle getTokenObject(sun.security.pkcs11.Session, sun.security.pkcs11.wrapper.CK_ATTRIBUTE, byte[], java.lang.String);
descriptor: (Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 7
1: iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
2: getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
3: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
aload 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_2
4: aload 2
aastore
5: astore 5
start local 5 6: goto 12
end local 5 7: StackMap locals:
StackMap stack:
iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
8: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
9: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
aload 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
dup
iconst_2
10: aload 2
aastore
11: astore 5
start local 5 12: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 1
aload 5
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 6
start local 6 13: aload 6
arraylength
ifne 34
14: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 67
15: aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 21
16: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "getTokenObject did not find secret key with CKA_LABEL ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
20: goto 67
StackMap locals: long[]
StackMap stack:
21: aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 29
22: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
23: new java.lang.StringBuilder
dup
ldc "getTokenObject did not find cert with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 3
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
28: goto 67
29: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "getTokenObject did not find private key with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 3
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
33: goto 67
StackMap locals:
StackMap stack:
34: aload 6
arraylength
iconst_1
if_icmpne 36
35: new sun.security.pkcs11.P11KeyStore$THandle
dup
aload 6
iconst_0
laload
aload 2
invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
areturn
36: StackMap locals:
StackMap stack:
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 56
37: new java.util.ArrayList
dup
aload 6
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 38: iconst_0
istore 8
start local 8 39: goto 47
40: StackMap locals: java.util.ArrayList int
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
41: astore 9
start local 9 42: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
aload 6
iload 8
laload
aload 9
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
43: aload 9
iconst_0
aaload
getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
ifnull 46
44: aload 4
new java.lang.String
dup
aload 9
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
45: aload 7
new sun.security.pkcs11.P11KeyStore$THandle
dup
aload 6
iload 8
laload
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 46: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
47: iload 8
aload 6
arraylength
if_icmplt 40
end local 8 48: aload 7
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmpne 50
49: aload 7
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$THandle
areturn
50: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "invalid KeyStore state: found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: aload 7
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
52: ldc " secret keys sharing CKA_LABEL ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 7 56: StackMap locals:
StackMap stack:
aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
if_acmpne 62
57: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "invalid KeyStore state: found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
58: aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
59: ldc " certificates sharing CKA_ID "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
60: aload 3
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "invalid KeyStore state: found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
64: ldc " private keys sharing CKA_ID "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
65: aload 3
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
67: StackMap locals:
StackMap stack:
new sun.security.pkcs11.P11KeyStore$THandle
dup
ldc -1
aconst_null
invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
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 68 0 this Lsun/security/pkcs11/P11KeyStore;
0 68 1 session Lsun/security/pkcs11/Session;
0 68 2 type Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
0 68 3 cka_id [B
0 68 4 cka_label Ljava/lang/String;
6 7 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
12 68 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
13 68 6 h [J
38 56 7 list Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$THandle;>;
39 48 8 i I
42 46 9 label [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
MethodParameters:
Name Flags
session
type
cka_id
cka_label
private boolean mapLabels();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=19, args_size=1
start local 0 0: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
1: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 134
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
2: astore 1
start local 1 3: aconst_null
astore 2
start local 2 4: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 2
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 6: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
7: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
8: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
9: astore 4
start local 4 10: aload 2
aload 4
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 5
start local 5 11: aload 5
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 18
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] top top int int long[]
StackMap stack:
12: aload 10
iload 8
laload
lstore 6
start local 6 13: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
14: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
lload 6
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
15: aload 4
iconst_0
aaload
getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
ifnull 17
16: aload 3
aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 17: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 9
if_icmplt 12
19: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
20: astore 6
start local 6 21: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
22: getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
23: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
24: astore 4
25: aload 2
aload 4
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 5
26: aload 5
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 75
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap top top int int long[]
StackMap stack:
27: aload 11
iload 9
laload
lstore 7
start local 7 28: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
29: aconst_null
astore 12
start local 12 30: aconst_null
astore 13
start local 13 31: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
lload 7
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
32: aload 4
iconst_0
aaload
getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
ifnull 38
33: new java.lang.String
dup
aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
invokespecial java.lang.String.<init>:([C)V
astore 12
34: goto 38
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap long int int long[] java.lang.String byte[]
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
35: astore 14
start local 14 36: aload 14
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
ldc 18
lcmp
ifeq 38
37: aload 14
athrow
end local 14 38: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 258
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
39: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
lload 7
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
40: aload 4
iconst_0
aaload
getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
ifnonnull 43
41: aload 12
ifnonnull 46
42: goto 74
43: StackMap locals:
StackMap stack:
aload 12
ifnonnull 45
44: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
astore 12
45: StackMap locals:
StackMap stack:
aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 13
46: StackMap locals:
StackMap stack:
aload 0
aload 2
lload 7
invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
astore 14
start local 14 47: iconst_0
istore 15
start local 15 48: aload 0
getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
ifeq 51
49: invokestatic sun.security.pkcs11.Secmod.getInstance:()Lsun/security/pkcs11/Secmod;
aload 14
aload 0
getfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
invokevirtual sun.security.pkcs11.Secmod.isTrusted:(Ljava/security/cert/X509Certificate;Lsun/security/pkcs11/Secmod$TrustType;)Z
istore 15
50: goto 64
51: StackMap locals: java.security.cert.X509Certificate int
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
ifeq 64
52: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
53: aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
lload 7
aload 1
54: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
55: aload 1
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
istore 15
56: goto 64
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
57: astore 16
start local 16 58: aload 16
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
ldc 18
lcmp
ifne 64
59: iconst_0
putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
60: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 64
61: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
62: ldc "CKA_TRUSTED attribute not supported"
63: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 16 64: StackMap locals:
StackMap stack:
aload 6
aload 12
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.HashSet
astore 16
start local 16 65: aload 16
ifnonnull 68
66: new java.util.HashSet
dup
iconst_2
invokespecial java.util.HashSet.<init>:(I)V
astore 16
67: aload 6
aload 12
aload 16
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
68: StackMap locals: java.util.HashSet
StackMap stack:
aload 16
new sun.security.pkcs11.P11KeyStore$AliasInfo
dup
69: aload 12
70: aload 13
71: iload 15
72: aload 14
invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
73: invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 end local 14 end local 13 end local 12 end local 7 74: StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap top top int int long[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
75: iload 9
iload 10
if_icmplt 27
76: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 77: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
78: getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
dup
iconst_1
79: getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
aastore
80: astore 4
81: aload 2
aload 4
invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 5
82: aload 5
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 96
StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet top top int int long[]
StackMap stack:
83: aload 12
iload 10
laload
lstore 8
start local 8 84: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
astore 4
85: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
lload 8
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
86: aload 4
iconst_0
aaload
getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
ifnull 95
87: new java.lang.String
dup
aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
invokespecial java.lang.String.<init>:([C)V
astore 13
start local 13 88: aload 7
aload 13
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 91
89: aload 7
aload 13
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
90: goto 95
91: StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet long int int long[] java.lang.String
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "invalid KeyStore state: found multiple secret keys sharing same CKA_LABEL ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
92: aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
93: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
94: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 8 95: StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet top top int int long[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
96: iload 10
iload 11
if_icmplt 83
97: aload 0
aload 3
aload 6
invokevirtual sun.security.pkcs11.P11KeyStore.mapPrivateKeys:(Ljava/util/ArrayList;Ljava/util/HashMap;)Ljava/util/ArrayList;
98: astore 8
start local 8 99: aload 0
aload 8
aload 6
invokevirtual sun.security.pkcs11.P11KeyStore.mapCerts:(Ljava/util/ArrayList;Ljava/util/HashMap;)Z
istore 9
start local 9 100: aload 0
aload 7
invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashSet;)V
101: iload 9
istore 18
102: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
103: iload 18
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 104: StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 17
105: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
106: aload 17
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 107 0 this Lsun/security/pkcs11/P11KeyStore;
3 107 1 trustedAttr [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
4 107 2 session Lsun/security/pkcs11/Session;
6 104 3 pkeyIDs Ljava/util/ArrayList<[B>;
10 104 4 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 104 5 handles [J
13 17 6 handle J
21 104 6 certMap Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
28 74 7 handle J
30 74 12 cka_label Ljava/lang/String;
31 74 13 cka_id [B
36 38 14 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
47 74 14 cert Ljava/security/cert/X509Certificate;
48 74 15 cka_trusted Z
58 64 16 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
65 74 16 infoSet Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
77 104 7 sKeySet Ljava/util/HashSet<Ljava/lang/String;>;
84 95 8 handle J
88 95 13 cka_label Ljava/lang/String;
99 104 8 matchedCerts Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
100 104 9 sharedLabel Z
Exception table:
from to target type
31 34 35 Class sun.security.pkcs11.wrapper.PKCS11Exception
52 56 57 Class sun.security.pkcs11.wrapper.PKCS11Exception
4 102 104 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException
private java.util.ArrayList<sun.security.pkcs11.P11KeyStore$AliasInfo> mapPrivateKeys(java.util.ArrayList<byte[]>, java.util.HashMap<java.lang.String, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>>);
descriptor: (Ljava/util/ArrayList;Ljava/util/HashMap;)Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 1
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 35
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 4
start local 4 4: iconst_0
istore 6
start local 6 5: aload 2
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 7
start local 7 6: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 26
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set top java.util.Iterator
StackMap stack:
7: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 8: aload 2
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.HashSet
astore 10
start local 10 9: aload 10
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 12
goto 23
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
StackMap stack:
10: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 11
start local 11 11: aload 4
aload 11
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 23
12: aload 10
invokevirtual java.util.HashSet.size:()I
iconst_1
if_icmpne 16
13: aload 11
iconst_1
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
14: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 8
aload 11
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: goto 20
16: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator
StackMap stack:
aload 11
iconst_1
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
17: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 0
aload 8
aload 11
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
18: aload 11
19: invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: StackMap locals:
StackMap stack:
aload 3
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: iconst_1
istore 6
22: goto 24
end local 11 23: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
24: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet
StackMap stack:
iload 6
ifeq 26
25: goto 27
end local 10 end local 8 26: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
27: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set
StackMap stack:
iload 6
ifne 35
28: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
ifnull 35
29: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
30: new java.lang.StringBuilder
dup
ldc "did not find match for private key with CKA_ID ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 4
invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc "] (ignoring entry)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 end local 6 end local 4 35: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
36: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/pkcs11/P11KeyStore;
0 37 1 pkeyIDs Ljava/util/ArrayList<[B>;
0 37 2 certMap Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
2 37 3 matchedCerts Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
4 35 4 pkeyID [B
5 35 6 foundMatch Z
6 35 7 certLabels Ljava/util/Set<Ljava/lang/String;>;
8 26 8 certLabel Ljava/lang/String;
9 26 10 infoSet Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
11 23 11 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
Signature: (Ljava/util/ArrayList<[B>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;)Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
MethodParameters:
Name Flags
pkeyIDs
certMap
private boolean mapCerts(java.util.ArrayList<sun.security.pkcs11.P11KeyStore$AliasInfo>, java.util.HashMap<java.lang.String, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>>);
descriptor: (Ljava/util/ArrayList;Ljava/util/HashMap;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 3
start local 3 2: aconst_null
astore 5
start local 5 3: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 5
4: aload 3
aload 0
aload 5
aload 3
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
invokevirtual sun.security.pkcs11.P11KeyStore.loadChain:(Lsun/security/pkcs11/Session;Ljava/security/cert/X509Certificate;)[Ljava/security/cert/X509Certificate;
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
5: goto 9
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
6: astore 6
7: aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
8: aload 6
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
end local 5 end local 3 10: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: iconst_0
istore 3
start local 3 12: aload 2
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 4
start local 4 13: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 29
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 15: aload 2
aload 5
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.HashSet
astore 7
start local 7 16: aload 7
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 9
goto 28
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
astore 8
start local 8 18: aload 8
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
ifeq 21
19: aload 8
iconst_0
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
20: goto 28
21: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator
StackMap stack:
getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
ifeq 28
22: aload 8
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
ifeq 28
23: aload 0
24: aload 5
aload 8
aload 7
25: invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
26: ifeq 28
27: iconst_1
istore 3
end local 8 28: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
end local 7 end local 5 29: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
30: iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/pkcs11/P11KeyStore;
0 31 1 matchedCerts Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
0 31 2 certMap Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
2 10 3 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
3 10 5 session Lsun/security/pkcs11/Session;
12 31 3 sharedLabel Z
13 31 4 certLabels Ljava/util/Set<Ljava/lang/String;>;
15 29 5 certLabel Ljava/lang/String;
16 29 7 infoSet Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
18 28 8 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
Exception table:
from to target type
3 6 6 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
Signature: (Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;)Z
MethodParameters:
Name Flags
matchedCerts
certMap
private boolean mapTrustedCert(java.lang.String, sun.security.pkcs11.P11KeyStore$AliasInfo, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>);
descriptor: (Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 2
getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
2: aload 2
iconst_1
putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
3: aload 3
invokevirtual java.util.HashSet.size:()I
iconst_1
if_icmpne 6
4: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 1
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: goto 8
6: StackMap locals: int
StackMap stack:
iconst_1
istore 4
7: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 0
aload 1
aload 2
getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/P11KeyStore;
0 9 1 certLabel Ljava/lang/String;
0 9 2 aliasInfo Lsun/security/pkcs11/P11KeyStore$AliasInfo;
0 9 3 infoSet Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
1 9 4 sharedLabel Z
Signature: (Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;)Z
MethodParameters:
Name Flags
certLabel
aliasInfo
infoSet
private void mapSecretKeys(java.util.HashSet<java.lang.String>);
descriptor: (Ljava/util/HashSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 5
3: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 2
new sun.security.pkcs11.P11KeyStore$AliasInfo
dup
aload 2
invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;)V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 9
5: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet java.lang.String java.util.Iterator
StackMap stack:
new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "invalid KeyStore state: found secret key sharing CKA_LABEL ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "] with another token object"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 2 9: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/pkcs11/P11KeyStore;
0 11 1 sKeySet Ljava/util/HashSet<Ljava/lang/String;>;
2 9 2 label Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
Signature: (Ljava/util/HashSet<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
sKeySet
private void dumpTokenMap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 1
start local 1 1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Token Alias Map:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifeq 5
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " [empty]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: goto 9
5: StackMap locals: java.util.Set
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: sun.security.pkcs11.P11KeyStore java.util.Set top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: sun.security.pkcs11.P11KeyStore java.util.Set
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/pkcs11/P11KeyStore;
1 10 1 aliases Ljava/util/Set<Ljava/lang/String;>;
7 8 2 s Ljava/lang/String;
private void checkWrite();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
ifeq 4
1: new java.security.KeyStoreException
dup
2: ldc "This PKCS11KeyStore does not support write capabilities"
3: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11KeyStore;
Exceptions:
throws java.security.KeyStoreException
private static long[] findObjects(sun.security.pkcs11.Session, sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]);
descriptor: (Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.Session.token:Lsun/security/pkcs11/Token;
astore 2
start local 2 1: getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
astore 3
start local 3 2: aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
invokevirtual sun.security.pkcs11.Session.id:()J
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsInit:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
3: StackMap locals: sun.security.pkcs11.Token long[]
StackMap stack:
aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
invokevirtual sun.security.pkcs11.Session.id:()J
ldc 100
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjects:(JJ)[J
astore 4
start local 4 4: aload 4
arraylength
ifne 6
5: goto 8
6: StackMap locals: long[]
StackMap stack:
aload 3
aload 4
invokestatic sun.security.pkcs11.P11Util.concat:([J[J)[J
astore 3
end local 4 7: goto 3
8: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
invokevirtual sun.security.pkcs11.Session.id:()J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsFinal:(J)V
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 session Lsun/security/pkcs11/Session;
0 10 1 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
1 10 2 token Lsun/security/pkcs11/Token;
2 10 3 handles [J
4 7 4 h [J
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
session
attrs
}
SourceFile: "P11KeyStore.java"
NestMembers:
sun.security.pkcs11.P11KeyStore$AliasInfo sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler sun.security.pkcs11.P11KeyStore$THandle
InnerClasses:
public CallbackHandlerProtection = java.security.KeyStore$CallbackHandlerProtection of java.security.KeyStore
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection 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
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
private AliasInfo = sun.security.pkcs11.P11KeyStore$AliasInfo of sun.security.pkcs11.P11KeyStore
private PasswordCallbackHandler = sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler of sun.security.pkcs11.P11KeyStore
private THandle = sun.security.pkcs11.P11KeyStore$THandle of sun.security.pkcs11.P11KeyStore
public final KeyStoreLoadParameter = sun.security.pkcs11.Secmod$KeyStoreLoadParameter of sun.security.pkcs11.Secmod
public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
public final TrustType = sun.security.pkcs11.Secmod$TrustType of sun.security.pkcs11.Secmod