final class sun.security.pkcs11.P11KeyPairGenerator extends java.security.KeyPairGeneratorSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11KeyPairGenerator
super_class: java.security.KeyPairGeneratorSpi
{
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 final long mechanism;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int keySize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.security.spec.AlgorithmParameterSpec params;
descriptor: Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger rsaPublicExponent;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
private final int minKeySize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxKeySize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
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=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.security.KeyPairGeneratorSpi.<init>:()V
1: aload 0
getstatic java.security.spec.RSAKeyGenParameterSpec.F4:Ljava/math/BigInteger;
putfield sun.security.pkcs11.P11KeyPairGenerator.rsaPublicExponent:Ljava/math/BigInteger;
2: iconst_m1
istore 5
start local 5 3: iconst_m1
istore 6
start local 6 4: aload 1
lload 3
invokevirtual sun.security.pkcs11.Token.getMechanismInfo:(J)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
astore 7
start local 7 5: aload 7
ifnull 13
6: aload 7
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMinKeySize:J
l2i
istore 5
7: aload 7
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMaxKeySize:J
l2i
istore 6
end local 7 8: goto 13
StackMap locals: sun.security.pkcs11.P11KeyPairGenerator sun.security.pkcs11.Token java.lang.String long int int
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
9: astore 7
start local 7 10: new java.security.ProviderException
dup
11: ldc "Unexpected error while getting mechanism info"
aload 7
12: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 13: StackMap locals:
StackMap stack:
aload 2
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
14: aload 0
sipush 256
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
15: iload 5
iconst_m1
if_icmpeq 16
iload 5
bipush 112
if_icmpge 17
16: StackMap locals:
StackMap stack:
bipush 112
istore 5
17: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpeq 18
iload 6
sipush 2048
if_icmple 26
18: StackMap locals:
StackMap stack:
sipush 2048
istore 6
19: goto 26
20: StackMap locals:
StackMap stack:
aload 0
sipush 1024
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
21: iload 5
iconst_m1
if_icmpeq 22
iload 5
sipush 512
if_icmpge 23
22: StackMap locals:
StackMap stack:
sipush 512
istore 5
23: StackMap locals:
StackMap stack:
aload 2
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iload 6
iconst_m1
if_icmpeq 25
iload 6
ldc 65536
if_icmple 26
25: StackMap locals:
StackMap stack:
ldc 65536
istore 6
26: StackMap locals:
StackMap stack:
iload 5
iconst_m1
if_icmpeq 28
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
iload 5
if_icmpge 28
27: aload 0
iload 5
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
28: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpeq 30
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
iload 6
if_icmple 30
29: aload 0
iload 6
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
30: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
31: aload 0
aload 2
putfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
32: aload 0
lload 3
putfield sun.security.pkcs11.P11KeyPairGenerator.mechanism:J
33: aload 0
iload 5
putfield sun.security.pkcs11.P11KeyPairGenerator.minKeySize:I
34: aload 0
iload 6
putfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
35: aload 2
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
36: aload 0
getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
aconst_null
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.initialize:(ILjava/security/SecureRandom;)V
37: goto 45
38: StackMap locals:
StackMap stack:
aload 2
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
39: aload 0
getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
aconst_null
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.initialize:(ILjava/security/SecureRandom;)V
40: goto 45
StackMap locals:
StackMap stack:
41: aload 2
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
42: aload 0
getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
aconst_null
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.initialize:(ILjava/security/SecureRandom;)V
43: goto 45
44: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.util.SecurityProviderConstants.DEF_DH_KEY_SIZE:I
aconst_null
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.initialize:(ILjava/security/SecureRandom;)V
45: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/pkcs11/P11KeyPairGenerator;
0 46 1 token Lsun/security/pkcs11/Token;
0 46 2 algorithm Ljava/lang/String;
0 46 3 mechanism J
3 46 5 minKeyLen I
4 46 6 maxKeyLen I
5 8 7 mechInfo Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
10 13 7 p11e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
4 8 9 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
token
algorithm
mechanism
public void initialize(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
iload 1
aconst_null
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.checkKeySize:(ILjava/security/spec/AlgorithmParameterSpec;)V
2: goto 5
StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
3: astore 3
start local 3 4: new java.security.InvalidParameterException
dup
aload 3
invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 3 5: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
6: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
7: aload 0
iload 1
invokestatic sun.security.pkcs11.P11ECKeyFactory.getECParameterSpec:(I)Ljava/security/spec/ECParameterSpec;
putfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
8: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
ifnonnull 14
9: new java.security.InvalidParameterException
dup
10: new java.lang.StringBuilder
dup
ldc "No EC parameters available for key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
15: aload 0
aload 2
putfield sun.security.pkcs11.P11KeyPairGenerator.random:Ljava/security/SecureRandom;
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs11/P11KeyPairGenerator;
0 17 1 keySize I
0 17 2 random Ljava/security/SecureRandom;
4 5 3 e Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
1 2 3 Class java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
keySize
random
public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "DH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
2: aload 1
instanceof javax.crypto.spec.DHParameterSpec
ifne 6
3: new java.security.InvalidAlgorithmParameterException
dup
4: ldc "DHParameterSpec required for Diffie-Hellman"
5: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
checkcast javax.crypto.spec.DHParameterSpec
astore 4
start local 4 7: aload 4
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 3
start local 3 8: aload 0
iload 3
aload 4
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.checkKeySize:(ILjava/security/spec/AlgorithmParameterSpec;)V
end local 4 9: goto 55
end local 3 StackMap locals:
StackMap stack:
10: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
11: aload 1
instanceof java.security.spec.RSAKeyGenParameterSpec
ifne 15
12: new java.security.InvalidAlgorithmParameterException
dup
13: ldc "RSAKeyGenParameterSpec required for RSA"
14: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.spec.RSAKeyGenParameterSpec
16: astore 4
start local 4 17: aload 4
invokevirtual java.security.spec.RSAKeyGenParameterSpec.getKeysize:()I
istore 3
start local 3 18: aload 0
iload 3
aload 4
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.checkKeySize:(ILjava/security/spec/AlgorithmParameterSpec;)V
19: aconst_null
astore 1
20: aload 0
aload 4
invokevirtual java.security.spec.RSAKeyGenParameterSpec.getPublicExponent:()Ljava/math/BigInteger;
putfield sun.security.pkcs11.P11KeyPairGenerator.rsaPublicExponent:Ljava/math/BigInteger;
end local 4 21: goto 55
end local 3 StackMap locals:
StackMap stack:
22: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
23: aload 1
instanceof java.security.spec.DSAParameterSpec
ifne 27
24: new java.security.InvalidAlgorithmParameterException
dup
25: ldc "DSAParameterSpec required for DSA"
26: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.spec.DSAParameterSpec
astore 4
start local 4 28: aload 4
invokevirtual java.security.spec.DSAParameterSpec.getP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 3
start local 3 29: aload 0
iload 3
aload 4
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.checkKeySize:(ILjava/security/spec/AlgorithmParameterSpec;)V
end local 4 30: goto 55
end local 3 StackMap locals:
StackMap stack:
31: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 54
32: aload 1
instanceof java.security.spec.ECParameterSpec
ifeq 39
33: aload 1
checkcast java.security.spec.ECParameterSpec
34: invokestatic sun.security.pkcs11.P11ECKeyFactory.getECParameterSpec:(Ljava/security/spec/ECParameterSpec;)Ljava/security/spec/ECParameterSpec;
astore 4
start local 4 35: aload 4
ifnonnull 51
36: new java.security.InvalidAlgorithmParameterException
dup
37: new java.lang.StringBuilder
dup
ldc "Unsupported curve: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 4 39: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.ECGenParameterSpec
ifeq 48
40: aload 1
checkcast java.security.spec.ECGenParameterSpec
invokevirtual java.security.spec.ECGenParameterSpec.getName:()Ljava/lang/String;
astore 5
start local 5 41: aload 5
invokestatic sun.security.pkcs11.P11ECKeyFactory.getECParameterSpec:(Ljava/lang/String;)Ljava/security/spec/ECParameterSpec;
astore 4
start local 4 42: aload 4
ifnonnull 46
43: new java.security.InvalidAlgorithmParameterException
dup
44: new java.lang.StringBuilder
dup
ldc "Unknown curve name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom top java.security.spec.ECParameterSpec java.lang.String
StackMap stack:
aload 4
astore 1
end local 5 47: goto 51
end local 4 48: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
49: ldc "ECParameterSpec or ECGenParameterSpec required for EC"
50: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
start local 4 51: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom top java.security.spec.ECParameterSpec
StackMap stack:
aload 4
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 3
start local 3 52: aload 0
iload 3
aload 4
invokevirtual sun.security.pkcs11.P11KeyPairGenerator.checkKeySize:(ILjava/security/spec/AlgorithmParameterSpec;)V
end local 4 53: goto 55
end local 3 54: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
start local 3 55: StackMap locals: int
StackMap stack:
aload 0
iload 3
putfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
56: aload 0
aload 1
putfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
57: aload 0
aload 2
putfield sun.security.pkcs11.P11KeyPairGenerator.random:Ljava/security/SecureRandom;
58: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lsun/security/pkcs11/P11KeyPairGenerator;
0 59 1 params Ljava/security/spec/AlgorithmParameterSpec;
0 59 2 random Ljava/security/SecureRandom;
8 10 3 tmpKeySize I
18 22 3 tmpKeySize I
29 31 3 tmpKeySize I
52 54 3 tmpKeySize I
55 59 3 tmpKeySize I
7 9 4 dhParams Ljavax/crypto/spec/DHParameterSpec;
17 21 4 rsaParams Ljava/security/spec/RSAKeyGenParameterSpec;
28 30 4 dsaParams Ljava/security/spec/DSAParameterSpec;
35 39 4 ecParams Ljava/security/spec/ECParameterSpec;
42 48 4 ecParams Ljava/security/spec/ECParameterSpec;
51 53 4 ecParams Ljava/security/spec/ECParameterSpec;
41 47 5 name Ljava/lang/String;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
random
private void checkKeySize(int, java.security.spec.AlgorithmParameterSpec);
descriptor: (ILjava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.minKeySize:I
iconst_m1
if_icmpeq 5
iload 1
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.minKeySize:I
if_icmpge 5
1: new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc " key must be at least "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.minKeySize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "The specific key size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
iconst_m1
if_icmpeq 10
iload 1
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
if_icmple 10
6: new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: ldc " key must be at most "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "The specific key size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
11: iload 1
bipush 112
if_icmpge 17
12: new java.security.InvalidAlgorithmParameterException
dup
13: new java.lang.StringBuilder
dup
ldc "EC key size must be at least 112 bit. The specific key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 1
sipush 2048
if_icmple 71
18: new java.security.InvalidAlgorithmParameterException
dup
19: new java.lang.StringBuilder
dup
ldc "EC key size must be at most 2048 bit. The specific key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
iload 1
sipush 512
if_icmpge 28
24: new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: ldc " key size must be at least 512 bit. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "The specific key size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
29: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.rsaPublicExponent:Ljava/math/BigInteger;
astore 3
start local 3 30: aload 2
ifnull 33
31: aload 2
checkcast java.security.spec.RSAKeyGenParameterSpec
invokevirtual java.security.spec.RSAKeyGenParameterSpec.getPublicExponent:()Ljava/math/BigInteger;
32: astore 3
33: StackMap locals: java.math.BigInteger
StackMap stack:
iload 1
aload 3
34: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.minKeySize:I
35: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
iconst_m1
if_icmpne 36
ldc 2147483647
goto 37
StackMap locals: sun.security.pkcs11.P11KeyPairGenerator int java.security.spec.AlgorithmParameterSpec java.math.BigInteger
StackMap stack: int java.math.BigInteger int
36: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.maxKeySize:I
37: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator int java.security.spec.AlgorithmParameterSpec java.math.BigInteger
StackMap stack: int java.math.BigInteger int int
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
38: goto 71
StackMap locals:
StackMap stack: java.security.InvalidKeyException
39: astore 4
start local 4 40: new java.security.InvalidAlgorithmParameterException
dup
aload 4
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 41: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "DH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 64
42: aload 2
ifnull 49
43: iload 1
ldc 65536
if_icmple 71
44: new java.security.InvalidAlgorithmParameterException
dup
45: new java.lang.StringBuilder
dup
ldc "DH key size must be at most 65536 bit. The specific key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
iload 1
sipush 8192
if_icmpgt 51
iload 1
sipush 512
if_icmplt 51
50: iload 1
bipush 63
iand
ifeq 56
51: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
52: new java.lang.StringBuilder
dup
ldc "DH key size must be multiple of 64, and can only range from 512 to 8192 (inclusive). The specific key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
53: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
56: StackMap locals:
StackMap stack:
iload 1
invokestatic sun.security.provider.ParameterCache.getCachedDHParameterSpec:(I)Ljavax/crypto/spec/DHParameterSpec;
57: astore 3
start local 3 58: aload 3
ifnonnull 71
iload 1
sipush 1024
if_icmple 71
59: new java.security.InvalidAlgorithmParameterException
dup
60: new java.lang.StringBuilder
dup
ldc "Unsupported "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
61: ldc "-bit DH parameter generation"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 3 64: StackMap locals:
StackMap stack:
iload 1
sipush 3072
if_icmpeq 71
iload 1
sipush 2048
if_icmpeq 71
65: iload 1
sipush 1024
if_icmpgt 66
iload 1
bipush 63
iand
ifeq 71
66: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
67: new java.lang.StringBuilder
dup
ldc "DSA key must be multiples of 64 if less than 1024 bits, or 2048, 3072 bits. The specific key size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
68: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
69: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
70: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
71: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Lsun/security/pkcs11/P11KeyPairGenerator;
0 72 1 keySize I
0 72 2 params Ljava/security/spec/AlgorithmParameterSpec;
30 41 3 tmpExponent Ljava/math/BigInteger;
40 41 4 e Ljava/security/InvalidKeyException;
58 64 3 cache Ljavax/crypto/spec/DHParameterSpec;
Exception table:
from to target type
33 38 39 Class java.security.InvalidKeyException
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
keySize
params
public java.security.KeyPair generateKeyPair();
descriptor: ()Ljava/security/KeyPair;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
2: lconst_0
lstore 3
start local 3 3: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 289
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
i2l
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.rsaPublicExponent:Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
6: astore 1
start local 1 7: iconst_0
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 2
start local 2 8: goto 63
end local 3 end local 2 end local 1 StackMap locals:
StackMap stack:
9: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
10: lconst_1
lstore 3
start local 3 11: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
ifnonnull 19
12: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.random:Ljava/security/SecureRandom;
13: invokestatic sun.security.provider.ParameterCache.getDSAParameterSpec:(ILjava/security/SecureRandom;)Ljava/security/spec/DSAParameterSpec;
astore 5
start local 5 14: goto 20
end local 5 StackMap locals: sun.security.pkcs11.P11KeyPairGenerator top top long
StackMap stack: java.security.GeneralSecurityException
15: astore 6
start local 6 16: new java.security.ProviderException
dup
17: ldc "Could not generate DSA parameters"
aload 6
18: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.DSAParameterSpec
astore 5
start local 5 20: StackMap locals: java.security.spec.DSAParameterSpec
StackMap stack:
iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
21: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
aload 5
invokevirtual java.security.spec.DSAParameterSpec.getP:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_1
22: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 305
aload 5
invokevirtual java.security.spec.DSAParameterSpec.getQ:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_2
23: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 306
aload 5
invokevirtual java.security.spec.DSAParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
24: astore 1
start local 1 25: iconst_0
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 2
end local 5 start local 2 26: goto 63
end local 3 end local 2 end local 1 StackMap locals: sun.security.pkcs11.P11KeyPairGenerator
StackMap stack:
27: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "DH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 53
28: ldc 2
lstore 3
start local 3 29: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
ifnonnull 39
30: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.random:Ljava/security/SecureRandom;
31: invokestatic sun.security.provider.ParameterCache.getDHParameterSpec:(ILjava/security/SecureRandom;)Ljavax/crypto/spec/DHParameterSpec;
astore 5
start local 5 32: goto 37
end local 5 StackMap locals: sun.security.pkcs11.P11KeyPairGenerator top top long
StackMap stack: java.security.GeneralSecurityException
33: astore 7
start local 7 34: new java.security.ProviderException
dup
35: ldc "Could not generate DH parameters"
aload 7
36: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 start local 5 37: StackMap locals: javax.crypto.spec.DHParameterSpec
StackMap stack:
iconst_0
istore 6
start local 6 38: goto 41
end local 6 end local 5 39: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.DHParameterSpec
astore 5
start local 5 40: aload 5
invokevirtual javax.crypto.spec.DHParameterSpec.getL:()I
istore 6
start local 6 41: StackMap locals: javax.crypto.spec.DHParameterSpec int
StackMap stack:
iload 6
ifgt 45
42: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
sipush 1024
if_icmplt 43
sipush 768
goto 44
StackMap locals:
StackMap stack:
43: sipush 512
StackMap locals:
StackMap stack: int
44: istore 6
45: StackMap locals:
StackMap stack:
iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
46: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 304
aload 5
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_1
47: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 306
aload 5
invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
48: astore 1
start local 1 49: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
50: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 352
iload 6
i2l
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
51: astore 2
end local 6 end local 5 start local 2 52: goto 63
end local 3 end local 2 end local 1 StackMap locals: sun.security.pkcs11.P11KeyPairGenerator
StackMap stack:
53: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 62
54: ldc 3
lstore 3
start local 3 55: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.params:Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.ECParameterSpec
invokestatic sun.security.pkcs11.P11ECKeyFactory.encodeParameters:(Ljava/security/spec/ECParameterSpec;)[B
56: astore 5
start local 5 57: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
58: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 384
aload 5
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
aastore
59: astore 1
start local 1 60: iconst_0
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 2
end local 5 start local 2 61: goto 63
end local 3 end local 2 end local 1 62: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
start local 1 start local 2 start local 3 63: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
StackMap stack:
aconst_null
astore 5
start local 5 64: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 5
65: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
66: ldc "generate"
ldc 2
lload 3
aload 1
67: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 1
68: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
69: ldc "generate"
ldc 3
lload 3
aload 2
70: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 2
71: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
72: aload 5
invokevirtual sun.security.pkcs11.Session.id:()J
new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.mechanism:J
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(J)V
73: aload 1
aload 2
74: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GenerateKeyPair:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
astore 6
start local 6 75: aload 5
aload 6
iconst_0
laload
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
aload 1
76: invokestatic sun.security.pkcs11.P11Key.publicKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PublicKey;
astore 7
start local 7 77: aload 5
aload 6
iconst_1
laload
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.algorithm:Ljava/lang/String;
aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.keySize:I
aload 2
78: invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
astore 8
start local 8 79: new java.security.KeyPair
dup
aload 7
aload 8
invokespecial java.security.KeyPair.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
astore 10
80: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
81: aload 10
areturn
end local 8 end local 7 end local 6 82: StackMap locals: sun.security.pkcs11.P11KeyPairGenerator sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long sun.security.pkcs11.Session
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 6
start local 6 83: new java.security.ProviderException
dup
aload 6
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 84: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
85: aload 0
getfield sun.security.pkcs11.P11KeyPairGenerator.token:Lsun/security/pkcs11/Token;
aload 5
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
86: aload 9
athrow
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 87 0 this Lsun/security/pkcs11/P11KeyPairGenerator;
7 9 1 publicKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
25 27 1 publicKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
49 53 1 publicKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
60 62 1 publicKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
63 87 1 publicKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
8 9 2 privateKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
26 27 2 privateKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
52 53 2 privateKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
61 62 2 privateKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
63 87 2 privateKeyTemplate [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
3 9 3 keyType J
11 27 3 keyType J
29 53 3 keyType J
55 62 3 keyType J
63 87 3 keyType J
14 15 5 dsaParams Ljava/security/spec/DSAParameterSpec;
20 26 5 dsaParams Ljava/security/spec/DSAParameterSpec;
16 19 6 e Ljava/security/GeneralSecurityException;
32 33 5 dhParams Ljavax/crypto/spec/DHParameterSpec;
37 39 5 dhParams Ljavax/crypto/spec/DHParameterSpec;
40 52 5 dhParams Ljavax/crypto/spec/DHParameterSpec;
38 39 6 privateBits I
41 52 6 privateBits I
34 37 7 e Ljava/security/GeneralSecurityException;
57 61 5 encodedParams [B
64 87 5 session Lsun/security/pkcs11/Session;
75 82 6 keyIDs [J
77 82 7 publicKey Ljava/security/PublicKey;
79 82 8 privateKey Ljava/security/PrivateKey;
83 84 6 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
12 14 15 Class java.security.GeneralSecurityException
30 32 33 Class java.security.GeneralSecurityException
64 80 82 Class sun.security.pkcs11.wrapper.PKCS11Exception
64 80 84 any
82 84 84 any
}
SourceFile: "P11KeyPairGenerator.java"