final class sun.security.pkcs11.P11KeyGenerator extends javax.crypto.KeyGeneratorSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11KeyGenerator
super_class: javax.crypto.KeyGeneratorSpi
{
private final sun.security.pkcs11.Token token;
descriptor: Lsun/security/pkcs11/Token;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String algorithm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long mechanism;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int keySize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int significantKeySize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long keyType;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean supportBothKeySizes;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static int checkKeySize(long, int, sun.security.pkcs11.Token);
descriptor: (JILsun/security/pkcs11/Token;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 2 start local 3 0: lload 0
l2i
lookupswitch { // 3
288: 1
304: 7
305: 7
default: 16
}
1: StackMap locals:
StackMap stack:
iload 2
bipush 64
if_icmpeq 5
iload 2
bipush 56
if_icmpeq 5
2: new java.security.InvalidAlgorithmParameterException
dup
3: ldc "DES key length must be 56 bits"
4: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
bipush 56
istore 4
start local 4 6: goto 51
end local 4 7: StackMap locals:
StackMap stack:
iload 2
bipush 112
if_icmpeq 8
iload 2
sipush 128
if_icmpne 10
8: StackMap locals:
StackMap stack:
bipush 112
istore 4
start local 4 9: goto 51
end local 4 StackMap locals:
StackMap stack:
10: iload 2
sipush 168
if_icmpeq 11
iload 2
sipush 192
if_icmpne 13
11: StackMap locals:
StackMap stack:
sipush 168
istore 4
start local 4 12: goto 51
end local 4 13: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
14: ldc "DESede key length must be 112, or 168 bits"
15: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 17: aload 3
lload 0
invokevirtual sun.security.pkcs11.Token.getMechanismInfo:(J)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
astore 5
18: goto 23
StackMap locals: long int sun.security.pkcs11.Token top sun.security.pkcs11.wrapper.CK_MECHANISM_INFO
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
19: astore 6
start local 6 20: new java.security.ProviderException
dup
21: ldc "Cannot retrieve mechanism info"
aload 6
22: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 23: StackMap locals:
StackMap stack:
aload 5
ifnonnull 25
24: iload 2
ireturn
25: StackMap locals:
StackMap stack:
aload 5
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMinKeySize:J
l2i
istore 6
start local 6 26: aload 5
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMaxKeySize:J
l2i
istore 7
start local 7 27: lload 0
ldc 272
lcmp
ifne 28
iload 6
bipush 8
if_icmpge 30
28: StackMap locals: int int
StackMap stack:
aload 5
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMinKeySize:J
l2i
iconst_3
ishl
istore 6
29: aload 5
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMaxKeySize:J
l2i
iconst_3
ishl
istore 7
30: StackMap locals:
StackMap stack:
iload 6
bipush 40
if_icmpge 31
bipush 40
istore 6
31: StackMap locals:
StackMap stack:
iload 2
iload 6
if_icmplt 32
iload 2
iload 7
if_icmple 37
32: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
33: new java.lang.StringBuilder
dup
ldc "Key length must be between "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
34: ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
lload 0
ldc 4224
lcmp
ifne 50
38: iload 2
sipush 128
if_icmpeq 50
iload 2
sipush 192
if_icmpeq 50
39: iload 2
sipush 256
if_icmpeq 50
40: new java.security.InvalidAlgorithmParameterException
dup
41: new java.lang.StringBuilder
dup
ldc "AES key length must be "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
42: iload 7
sipush 192
if_icmplt 43
ldc ", 192"
goto 44
StackMap locals: long int sun.security.pkcs11.Token top sun.security.pkcs11.wrapper.CK_MECHANISM_INFO int int
StackMap stack: new 40 new 40 java.lang.StringBuilder
43: ldc ""
StackMap locals: long int sun.security.pkcs11.Token top sun.security.pkcs11.wrapper.CK_MECHANISM_INFO int int
StackMap stack: new 40 new 40 java.lang.StringBuilder java.lang.String
44: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: iload 7
sipush 256
if_icmplt 46
ldc ", or 256"
goto 47
StackMap locals: long int sun.security.pkcs11.Token top sun.security.pkcs11.wrapper.CK_MECHANISM_INFO int int
StackMap stack: new 40 new 40 java.lang.StringBuilder
46: ldc ""
StackMap locals: long int sun.security.pkcs11.Token top sun.security.pkcs11.wrapper.CK_MECHANISM_INFO int int
StackMap stack: new 40 new 40 java.lang.StringBuilder java.lang.String
47: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
iload 2
istore 4
end local 7 end local 6 end local 5 start local 4 51: StackMap locals: long int sun.security.pkcs11.Token int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 keyGenMech J
0 52 2 keySize I
0 52 3 token Lsun/security/pkcs11/Token;
6 7 4 sigKeySize I
9 10 4 sigKeySize I
12 13 4 sigKeySize I
51 52 4 sigKeySize I
17 51 5 info Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
20 23 6 p11e Lsun/security/pkcs11/wrapper/PKCS11Exception;
26 51 6 minKeySize I
27 51 7 maxKeySize I
Exception table:
from to target type
17 18 19 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.security.InvalidAlgorithmParameterException, java.security.ProviderException
MethodParameters:
Name Flags
keyGenMech
keySize
token
void <init>(sun.security.pkcs11.Token, java.lang.String, long);
descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;J)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial javax.crypto.KeyGeneratorSpi.<init>:()V
1: aload 0
aload 1
putfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
2: aload 0
aload 2
putfield sun.security.pkcs11.P11KeyGenerator.algorithm:Ljava/lang/String;
3: aload 0
lload 3
putfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
4: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
ldc 305
lcmp
ifne 10
5: aload 0
6: aload 1
getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
ldc 304
invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
ifeq 8
7: aload 1
ldc 304
invokevirtual sun.security.pkcs11.Token.getMechanismInfo:(J)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
ifnull 8
iconst_1
goto 9
StackMap locals: sun.security.pkcs11.P11KeyGenerator sun.security.pkcs11.Token java.lang.String long
StackMap stack: sun.security.pkcs11.P11KeyGenerator
8: iconst_0
9: StackMap locals: sun.security.pkcs11.P11KeyGenerator sun.security.pkcs11.Token java.lang.String long
StackMap stack: sun.security.pkcs11.P11KeyGenerator int
putfield sun.security.pkcs11.P11KeyGenerator.supportBothKeySizes:Z
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs11.P11KeyGenerator.setDefaultKeySize:()V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/pkcs11/P11KeyGenerator;
0 12 1 token Lsun/security/pkcs11/Token;
0 12 2 algorithm Ljava/lang/String;
0 12 3 mechanism J
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
token
algorithm
mechanism
private void setDefaultKeySize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
l2i
lookupswitch { // 6
272: 13
288: 1
304: 4
305: 7
4224: 10
4240: 16
default: 19
}
1: StackMap locals:
StackMap stack:
aload 0
bipush 64
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
2: aload 0
ldc 19
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
3: goto 20
4: StackMap locals:
StackMap stack:
aload 0
sipush 128
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
5: aload 0
ldc 20
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
6: goto 20
7: StackMap locals:
StackMap stack:
aload 0
sipush 192
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
8: aload 0
ldc 21
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
9: goto 20
10: StackMap locals:
StackMap stack:
aload 0
sipush 128
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
11: aload 0
ldc 31
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
sipush 128
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
14: aload 0
ldc 18
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
15: goto 20
16: StackMap locals:
StackMap stack:
aload 0
sipush 128
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
17: aload 0
ldc 32
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
18: goto 20
19: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown mechanism "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.keySize:I
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
invokestatic sun.security.pkcs11.P11KeyGenerator.checkKeySize:(JILsun/security/pkcs11/Token;)I
putfield sun.security.pkcs11.P11KeyGenerator.significantKeySize:I
21: goto 24
StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
22: astore 1
start local 1 23: new java.security.ProviderException
dup
ldc "Unsupported default key size"
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/pkcs11/P11KeyGenerator;
23 24 1 iape Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
20 21 22 Class java.security.InvalidAlgorithmParameterException
protected void engineInit(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
invokevirtual sun.security.pkcs11.P11KeyGenerator.setDefaultKeySize:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs11/P11KeyGenerator;
0 3 1 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
random
protected void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.security.InvalidAlgorithmParameterException
dup
1: ldc "AlgorithmParameterSpec not supported"
2: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs11/P11KeyGenerator;
0 3 1 params Ljava/security/spec/AlgorithmParameterSpec;
0 3 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
random
protected void engineInit(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
iload 1
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
invokestatic sun.security.pkcs11.P11KeyGenerator.checkKeySize:(JILsun/security/pkcs11/Token;)I
istore 3
start local 3 2: goto 6
end local 3 StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
3: astore 4
start local 4 4: new java.security.InvalidParameterException
dup
invokespecial java.security.InvalidParameterException.<init>:()V
aload 4
invokevirtual java.security.InvalidParameterException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
5: checkcast java.security.InvalidParameterException
athrow
end local 4 start local 3 6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
ldc 304
lcmp
ifeq 8
7: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
ldc 305
lcmp
ifne 25
8: StackMap locals:
StackMap stack:
iload 3
bipush 112
if_icmpne 10
9: ldc 304
goto 11
StackMap locals:
StackMap stack:
10: ldc 305
11: StackMap locals:
StackMap stack: long
lstore 4
start local 4 12: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
lload 4
lcmp
ifeq 25
13: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.supportBothKeySizes:Z
ifeq 20
14: aload 0
lload 4
putfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
15: aload 0
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
ldc 304
lcmp
ifne 17
16: ldc 20
goto 18
StackMap locals: sun.security.pkcs11.P11KeyGenerator int java.security.SecureRandom int long
StackMap stack: sun.security.pkcs11.P11KeyGenerator
17: ldc 21
18: StackMap locals: sun.security.pkcs11.P11KeyGenerator int java.security.SecureRandom int long
StackMap stack: sun.security.pkcs11.P11KeyGenerator long
putfield sun.security.pkcs11.P11KeyGenerator.keyType:J
19: goto 25
20: StackMap locals:
StackMap stack:
new java.security.InvalidParameterException
dup
21: new java.lang.StringBuilder
dup
ldc "Only "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.significantKeySize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
22: ldc "-bit DESede is supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 4 25: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.security.pkcs11.P11KeyGenerator.keySize:I
26: aload 0
iload 3
putfield sun.security.pkcs11.P11KeyGenerator.significantKeySize:I
27: return
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/P11KeyGenerator;
0 28 1 keySize I
0 28 2 random Ljava/security/SecureRandom;
2 3 3 newSignificantKeySize I
6 28 3 newSignificantKeySize I
4 6 4 iape Ljava/security/InvalidAlgorithmParameterException;
12 25 4 newMechanism J
Exception table:
from to target type
1 2 3 Class java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
keySize
random
protected javax.crypto.SecretKey engineGenerateKey();
descriptor: ()Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 1
2: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.keyType:J
l2i
tableswitch { // 19 - 21
19: 3
20: 3
21: 3
default: 7
}
3: StackMap locals: sun.security.pkcs11.Session
StackMap stack:
iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
5: astore 2
start local 2 6: goto 11
end local 2 7: StackMap locals:
StackMap stack:
iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
8: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
9: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 353
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.keySize:I
iconst_3
ishr
i2l
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
10: astore 2
start local 2 11: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
12: ldc "generate"
ldc 4
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.keyType:J
aload 2
13: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 2
14: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
15: aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.mechanism:J
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(J)V
aload 2
16: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GenerateKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 3
start local 3 17: aload 1
lload 3
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.algorithm:Ljava/lang/String;
aload 0
getfield sun.security.pkcs11.P11KeyGenerator.significantKeySize:I
aload 2
18: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 6
19: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
aload 1
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
20: aload 6
areturn
end local 3 end local 2 21: StackMap locals: sun.security.pkcs11.P11KeyGenerator sun.security.pkcs11.Session
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 22: new java.security.ProviderException
dup
ldc "Could not generate key"
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
24: aload 0
getfield sun.security.pkcs11.P11KeyGenerator.token:Lsun/security/pkcs11/Token;
aload 1
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
25: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/pkcs11/P11KeyGenerator;
1 26 1 session Lsun/security/pkcs11/Session;
6 7 2 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 21 2 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
17 21 3 keyID J
22 23 2 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
1 19 21 Class sun.security.pkcs11.wrapper.PKCS11Exception
1 19 23 any
21 23 23 any
}
SourceFile: "P11KeyGenerator.java"