final class sun.security.pkcs11.P11RSAKeyFactory extends sun.security.pkcs11.P11KeyFactory
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11RSAKeyFactory
super_class: sun.security.pkcs11.P11KeyFactory
{
void <init>(sun.security.pkcs11.Token, java.lang.String);
descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial sun.security.pkcs11.P11KeyFactory.<init>:(Lsun/security/pkcs11/Token;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 2 1 token Lsun/security/pkcs11/Token;
0 2 2 algorithm Ljava/lang/String;
MethodParameters:
Name Flags
token
algorithm
java.security.PublicKey implTranslatePublicKey(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Ljava/security/PublicKey;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.RSAPublicKey
ifeq 7
1: aload 1
checkcast java.security.interfaces.RSAPublicKey
astore 2
start local 2 2: aload 0
3: aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
4: aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
5: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
6: areturn
end local 2 7: StackMap locals:
StackMap stack:
ldc "X.509"
aload 1
invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
8: aload 1
invokeinterface java.security.PublicKey.getEncoded:()[B
astore 2
start local 2 9: aload 2
invokestatic sun.security.rsa.RSAPublicKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPublicKey;
astore 1
10: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
11: areturn
end local 2 12: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "PublicKey must be instance of RSAPublicKey or have X.509 encoding"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 14: new java.security.InvalidKeyException
dup
ldc "Could not create RSA public key"
aload 2
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 15 1 key Ljava/security/PublicKey;
2 7 2 rsaKey Ljava/security/interfaces/RSAPublicKey;
9 12 2 encoded [B
14 15 2 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
0 6 13 Class sun.security.pkcs11.wrapper.PKCS11Exception
7 11 13 Class sun.security.pkcs11.wrapper.PKCS11Exception
12 13 13 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
java.security.PrivateKey implTranslatePrivateKey(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
flags: (0x0000)
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 13
1: aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 2
start local 2 2: aload 0
3: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
4: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
5: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
6: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
7: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
8: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
9: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
10: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
11: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
12: areturn
end local 2 13: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPrivateKey
ifeq 20
14: aload 1
checkcast java.security.interfaces.RSAPrivateKey
astore 2
start local 2 15: aload 0
16: aload 2
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
17: aload 2
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
18: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
19: areturn
end local 2 20: StackMap locals:
StackMap stack:
ldc "PKCS#8"
aload 1
invokeinterface java.security.PrivateKey.getFormat:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
21: aload 1
invokeinterface java.security.PrivateKey.getEncoded:()[B
astore 2
start local 2 22: aload 2
invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
astore 1
23: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
24: areturn
end local 2 25: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Private key must be instance of RSAPrivate(Crt)Key or have PKCS#8 encoding"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 27: new java.security.InvalidKeyException
dup
ldc "Could not create RSA private key"
aload 2
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 28 1 key Ljava/security/PrivateKey;
2 13 2 rsaKey Ljava/security/interfaces/RSAPrivateCrtKey;
15 20 2 rsaKey Ljava/security/interfaces/RSAPrivateKey;
22 25 2 encoded [B
27 28 2 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
0 12 26 Class sun.security.pkcs11.wrapper.PKCS11Exception
13 19 26 Class sun.security.pkcs11.wrapper.PKCS11Exception
20 24 26 Class sun.security.pkcs11.wrapper.PKCS11Exception
25 26 26 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
instanceof java.security.spec.X509EncodedKeySpec
ifeq 10
2: aload 1
checkcast java.security.spec.X509EncodedKeySpec
invokevirtual java.security.spec.X509EncodedKeySpec.getEncoded:()[B
astore 2
start local 2 3: aload 2
invokestatic sun.security.rsa.RSAPublicKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPublicKey;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
5: areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack: java.security.InvalidKeyException
astore 2
start local 2 7: new java.security.spec.InvalidKeySpecException
dup
8: ldc "Could not create RSA public key"
aload 2
9: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPublicKeySpec
ifne 12
11: new java.security.spec.InvalidKeySpecException
dup
ldc "Only RSAPublicKeySpec and X509EncodedKeySpec supported for RSA public keys"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.spec.RSAPublicKeySpec
astore 2
start local 2 13: aload 0
14: aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
15: aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
16: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
17: areturn
end local 2 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 19: new java.security.spec.InvalidKeySpecException
dup
20: ldc "Could not create RSA public key"
aload 2
21: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 22 1 keySpec Ljava/security/spec/KeySpec;
3 6 2 encoded [B
4 6 3 key Ljava/security/PublicKey;
7 10 2 e Ljava/security/InvalidKeyException;
13 18 2 rs Ljava/security/spec/RSAPublicKeySpec;
19 22 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 5 6 Class java.security.InvalidKeyException
12 17 18 Class sun.security.pkcs11.wrapper.PKCS11Exception
12 17 18 Class java.security.InvalidKeyException
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 1
instanceof java.security.spec.PKCS8EncodedKeySpec
ifeq 11
2: aload 1
checkcast java.security.spec.PKCS8EncodedKeySpec
invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
astore 2
start local 2 3: aload 2
invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
4: astore 3
start local 3 5: aload 0
aload 3
invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
6: areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 8: new java.security.spec.InvalidKeySpecException
dup
9: ldc "Could not create RSA private key"
aload 2
10: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPrivateCrtKeySpec
ifeq 24
12: aload 1
checkcast java.security.spec.RSAPrivateCrtKeySpec
astore 2
start local 2 13: aload 0
14: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
15: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
16: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
17: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
18: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
19: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
20: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
21: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
22: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
23: areturn
end local 2 24: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPrivateKeySpec
ifeq 31
25: aload 1
checkcast java.security.spec.RSAPrivateKeySpec
astore 2
start local 2 26: aload 0
27: aload 2
invokevirtual java.security.spec.RSAPrivateKeySpec.getModulus:()Ljava/math/BigInteger;
28: aload 2
invokevirtual java.security.spec.RSAPrivateKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
29: invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
30: areturn
end local 2 31: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
ldc "Only RSAPrivate(Crt)KeySpec and PKCS8EncodedKeySpec supported for RSA private keys"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 33: new java.security.spec.InvalidKeySpecException
dup
34: ldc "Could not create RSA private key"
aload 2
35: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 36 1 keySpec Ljava/security/spec/KeySpec;
3 7 2 encoded [B
5 7 3 key Ljava/security/PrivateKey;
8 11 2 e Ljava/security/GeneralSecurityException;
13 24 2 rs Ljava/security/spec/RSAPrivateCrtKeySpec;
26 31 2 rs Ljava/security/spec/RSAPrivateKeySpec;
33 36 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 6 7 Class java.security.GeneralSecurityException
11 23 32 Class sun.security.pkcs11.wrapper.PKCS11Exception
24 30 32 Class sun.security.pkcs11.wrapper.PKCS11Exception
31 32 32 Class sun.security.pkcs11.wrapper.PKCS11Exception
11 23 32 Class java.security.InvalidKeyException
24 30 32 Class java.security.InvalidKeyException
31 32 32 Class java.security.InvalidKeyException
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
private java.security.PublicKey generatePublic(java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aload 2
iconst_m1
ldc 65536
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
1: iconst_4
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
2: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
3: 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_2
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_3
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
aload 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
6: astore 3
start local 3 7: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
8: ldc "import"
ldc 2
lconst_0
aload 3
9: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 3
10: aconst_null
astore 4
start local 4 11: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 4
12: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.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
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 5
start local 5 13: aload 4
lload 5
ldc "RSA"
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aload 3
14: invokestatic sun.security.pkcs11.P11Key.publicKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PublicKey;
astore 8
15: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
16: aload 8
areturn
end local 5 17: StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 7
18: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
19: aload 7
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 20 1 n Ljava/math/BigInteger;
0 20 2 e Ljava/math/BigInteger;
7 20 3 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 20 4 session Lsun/security/pkcs11/Session;
13 17 5 keyID J
Exception table:
from to target type
11 15 17 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
MethodParameters:
Name Flags
n
e
private java.security.PrivateKey generatePrivate(java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aconst_null
iconst_m1
ldc 65536
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
1: iconst_4
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
2: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
3: 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_2
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_3
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
aload 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
6: astore 3
start local 3 7: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
8: ldc "import"
ldc 3
lconst_0
aload 3
9: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 3
10: aconst_null
astore 4
start local 4 11: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 4
12: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.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
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 5
start local 5 13: aload 4
lload 5
ldc "RSA"
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aload 3
14: 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
15: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
16: aload 8
areturn
end local 5 17: StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 7
18: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
19: aload 7
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 20 1 n Ljava/math/BigInteger;
0 20 2 d Ljava/math/BigInteger;
7 20 3 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 20 4 session Lsun/security/pkcs11/Session;
13 17 5 keyID J
Exception table:
from to target type
11 15 17 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
MethodParameters:
Name Flags
n
d
private java.security.PrivateKey generatePrivate(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aload 2
iconst_m1
ldc 65536
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
1: bipush 10
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
2: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
3: 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_2
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_3
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
aload 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_4
6: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
aload 3
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
iconst_5
7: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 292
aload 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 6
8: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 293
aload 5
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 7
9: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 294
aload 6
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 8
10: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 295
aload 7
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
dup
bipush 9
11: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 296
aload 8
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
aastore
12: astore 9
start local 9 13: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
14: ldc "import"
ldc 3
lconst_0
aload 9
15: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 9
16: aconst_null
astore 10
start local 10 17: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 10
18: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 10
invokevirtual sun.security.pkcs11.Session.id:()J
aload 9
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 11
start local 11 19: aload 10
lload 11
ldc "RSA"
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
aload 9
20: invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
astore 14
21: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 10
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
22: aload 14
areturn
end local 11 23: StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
astore 13
24: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
aload 10
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
25: aload 13
athrow
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 26 1 n Ljava/math/BigInteger;
0 26 2 e Ljava/math/BigInteger;
0 26 3 d Ljava/math/BigInteger;
0 26 4 p Ljava/math/BigInteger;
0 26 5 q Ljava/math/BigInteger;
0 26 6 pe Ljava/math/BigInteger;
0 26 7 qe Ljava/math/BigInteger;
0 26 8 coeff Ljava/math/BigInteger;
13 26 9 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
17 26 10 session Lsun/security/pkcs11/Session;
19 23 11 keyID J
Exception table:
from to target type
17 21 23 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
MethodParameters:
Name Flags
n
e
d
p
q
pe
qe
coeff
<T extends java.security.spec.KeySpec> T implGetPublicKeySpec(sun.security.pkcs11.P11Key, java.lang.Class<T>, sun.security.pkcs11.Session[]);
descriptor: (Lsun/security/pkcs11/P11Key;Ljava/lang/Class;[Lsun/security/pkcs11/Session;)Ljava/security/spec/KeySpec;
flags: (0x0000)
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc Ljava/security/spec/RSAPublicKeySpec;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 18
1: aload 3
iconst_0
aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
aastore
2: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
3: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_1
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
5: astore 4
start local 4 6: aload 1
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 5
start local 5 7: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
iconst_0
aaload
invokevirtual sun.security.pkcs11.Session.id:()J
lload 5
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
8: goto 12
StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
StackMap stack: java.lang.Throwable
9: astore 7
10: aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
11: aload 7
athrow
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
13: new java.security.spec.RSAPublicKeySpec
dup
14: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
15: aload 4
iconst_1
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
16: invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 7
start local 7 17: aload 2
aload 7
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
end local 7 end local 5 end local 4 18: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
ldc "Only RSAPublicKeySpec and X509EncodedKeySpec supported for RSA public keys"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 19 1 key Lsun/security/pkcs11/P11Key;
0 19 2 keySpec Ljava/lang/Class<TT;>;
0 19 3 session [Lsun/security/pkcs11/Session;
6 18 4 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
7 18 5 keyID J
17 18 7 spec Ljava/security/spec/KeySpec;
Exception table:
from to target type
7 9 9 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.spec.InvalidKeySpecException
Signature: <T::Ljava/security/spec/KeySpec;>(Lsun/security/pkcs11/P11Key;Ljava/lang/Class<TT;>;[Lsun/security/pkcs11/Session;)TT;
MethodParameters:
Name Flags
key
keySpec
session
<T extends java.security.spec.KeySpec> T implGetPrivateKeySpec(sun.security.pkcs11.P11Key, java.lang.Class<T>, sun.security.pkcs11.Session[]);
descriptor: (Lsun/security/pkcs11/P11Key;Ljava/lang/Class;[Lsun/security/pkcs11/Session;)Ljava/security/spec/KeySpec;
flags: (0x0000)
Code:
stack=11, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc Ljava/security/spec/RSAPrivateCrtKeySpec;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 30
1: aload 3
iconst_0
aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
aastore
2: bipush 8
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
3: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_1
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 290
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_2
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_3
6: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 292
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_4
7: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 293
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_5
8: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 294
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
bipush 6
9: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 295
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
bipush 7
10: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 296
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
11: astore 4
start local 4 12: aload 1
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 5
start local 5 13: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
iconst_0
aaload
invokevirtual sun.security.pkcs11.Session.id:()J
lload 5
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
14: goto 18
StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
StackMap stack: java.lang.Throwable
15: astore 7
16: aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
17: aload 7
athrow
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
19: new java.security.spec.RSAPrivateCrtKeySpec
dup
20: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
21: aload 4
iconst_1
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
22: aload 4
iconst_2
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
23: aload 4
iconst_3
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
24: aload 4
iconst_4
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
25: aload 4
iconst_5
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
26: aload 4
bipush 6
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
27: aload 4
bipush 7
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
28: invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 7
start local 7 29: aload 2
aload 7
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
end local 7 end local 5 end local 4 30: StackMap locals:
StackMap stack:
ldc Ljava/security/spec/RSAPrivateKeySpec;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 48
31: aload 3
iconst_0
aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
aastore
32: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
33: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 288
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_1
34: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 291
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
35: astore 4
start local 4 36: aload 1
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 5
start local 5 37: aload 0
getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
iconst_0
aaload
invokevirtual sun.security.pkcs11.Session.id:()J
lload 5
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
38: goto 42
StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
StackMap stack: java.lang.Throwable
39: astore 7
40: aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
41: aload 7
athrow
42: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
43: new java.security.spec.RSAPrivateKeySpec
dup
44: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
45: aload 4
iconst_1
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
46: invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 7
start local 7 47: aload 2
aload 7
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
end local 7 end local 5 end local 4 48: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
ldc "Only RSAPrivate(Crt)KeySpec and PKCS8EncodedKeySpec supported for RSA private keys"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
0 49 1 key Lsun/security/pkcs11/P11Key;
0 49 2 keySpec Ljava/lang/Class<TT;>;
0 49 3 session [Lsun/security/pkcs11/Session;
12 30 4 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
13 30 5 keyID J
29 30 7 spec Ljava/security/spec/KeySpec;
36 48 4 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
37 48 5 keyID J
47 48 7 spec Ljava/security/spec/KeySpec;
Exception table:
from to target type
13 15 15 any
37 39 39 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.spec.InvalidKeySpecException
Signature: <T::Ljava/security/spec/KeySpec;>(Lsun/security/pkcs11/P11Key;Ljava/lang/Class<TT;>;[Lsun/security/pkcs11/Session;)TT;
MethodParameters:
Name Flags
key
keySpec
session
java.security.KeyFactory implGetSoftwareFactory();
descriptor: ()Ljava/security/KeyFactory;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "RSA"
invokestatic sun.security.pkcs11.P11Util.getSunRsaSignProvider:()Ljava/security/Provider;
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11RSAKeyFactory;
Exceptions:
throws java.security.GeneralSecurityException
}
SourceFile: "P11RSAKeyFactory.java"