public class sun.security.rsa.RSAKeyFactory extends java.security.KeyFactorySpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.rsa.RSAKeyFactory
super_class: java.security.KeyFactorySpi
{
private static final java.lang.Class<?> RSA_PUB_KEYSPEC_CLS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.Class<?> RSA_PRIV_KEYSPEC_CLS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.Class<?> RSA_PRIVCRT_KEYSPEC_CLS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.Class<?> X509_KEYSPEC_CLS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.Class<?> PKCS8_KEYSPEC_CLS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
public static final int MIN_MODLEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 512
public static final int MAX_MODLEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private final sun.security.rsa.RSAUtil$KeyType type;
descriptor: Lsun/security/rsa/RSAUtil$KeyType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final int MAX_MODLEN_RESTRICT_EXP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3072
public static final int MAX_RESTRICTED_EXPLEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final boolean restrictExpLen;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Ljava/security/spec/RSAPublicKeySpec;
putstatic sun.security.rsa.RSAKeyFactory.RSA_PUB_KEYSPEC_CLS:Ljava/lang/Class;
1: ldc Ljava/security/spec/RSAPrivateKeySpec;
2: putstatic sun.security.rsa.RSAKeyFactory.RSA_PRIV_KEYSPEC_CLS:Ljava/lang/Class;
3: ldc Ljava/security/spec/RSAPrivateCrtKeySpec;
4: putstatic sun.security.rsa.RSAKeyFactory.RSA_PRIVCRT_KEYSPEC_CLS:Ljava/lang/Class;
5: ldc Ljava/security/spec/X509EncodedKeySpec;
putstatic sun.security.rsa.RSAKeyFactory.X509_KEYSPEC_CLS:Ljava/lang/Class;
6: ldc Ljava/security/spec/PKCS8EncodedKeySpec;
putstatic sun.security.rsa.RSAKeyFactory.PKCS8_KEYSPEC_CLS:Ljava/lang/Class;
7: ldc "true"
8: new sun.security.action.GetPropertyAction
dup
9: ldc "sun.security.rsa.restrictRSAExponent"
ldc "true"
10: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
12: putstatic sun.security.rsa.RSAKeyFactory.restrictExpLen:Z
13: return
LocalVariableTable:
Start End Slot Name Signature
static sun.security.rsa.RSAKeyFactory getInstance(sun.security.rsa.RSAUtil$KeyType);
descriptor: (Lsun/security/rsa/RSAUtil$KeyType;)Lsun/security/rsa/RSAKeyFactory;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.security.rsa.RSAKeyFactory
dup
aload 0
invokespecial sun.security.rsa.RSAKeyFactory.<init>:(Lsun/security/rsa/RSAUtil$KeyType;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lsun/security/rsa/RSAUtil$KeyType;
MethodParameters:
Name Flags
type
private static void checkKeyAlgo(java.security.Key, java.lang.String);
descriptor: (Ljava/security/Key;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
2: StackMap locals: java.lang.String
StackMap stack:
new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Expected a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " key, but got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/security/Key;
0 6 1 expectedAlg Ljava/lang/String;
1 6 2 keyAlg Ljava/lang/String;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
expectedAlg
public static java.security.interfaces.RSAKey toRSAKey(java.security.Key);
descriptor: (Ljava/security/Key;)Ljava/security/interfaces/RSAKey;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.security.InvalidKeyException
dup
ldc "Key must not be null"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
instanceof sun.security.rsa.RSAPrivateKeyImpl
ifne 5
3: aload 0
instanceof sun.security.rsa.RSAPrivateCrtKeyImpl
ifne 5
4: aload 0
instanceof sun.security.rsa.RSAPublicKeyImpl
ifeq 6
5: StackMap locals:
StackMap stack:
aload 0
checkcast java.security.interfaces.RSAKey
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAUtil$KeyType.lookup:(Ljava/lang/String;)Lsun/security/rsa/RSAUtil$KeyType;
astore 1
start local 1 7: aload 1
invokestatic sun.security.rsa.RSAKeyFactory.getInstance:(Lsun/security/rsa/RSAUtil$KeyType;)Lsun/security/rsa/RSAKeyFactory;
astore 2
start local 2 8: aload 2
aload 0
invokevirtual sun.security.rsa.RSAKeyFactory.engineTranslateKey:(Ljava/security/Key;)Ljava/security/Key;
checkcast java.security.interfaces.RSAKey
9: areturn
end local 2 end local 1 10: StackMap locals:
StackMap stack: java.security.ProviderException
astore 1
start local 1 11: new java.security.InvalidKeyException
dup
aload 1
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 key Ljava/security/Key;
7 10 1 type Lsun/security/rsa/RSAUtil$KeyType;
8 10 2 kf Lsun/security/rsa/RSAKeyFactory;
11 12 1 e Ljava/security/ProviderException;
Exception table:
from to target type
6 9 10 Class java.security.ProviderException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
static void checkRSAProviderKeyLengths(int, java.math.BigInteger);
descriptor: (ILjava/math/BigInteger;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 7
iadd
bipush -8
iand
aload 1
1: sipush 512
ldc 2147483647
2: invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 modulusLen I
0 4 1 exponent Ljava/math/BigInteger;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
modulusLen
exponent
public static void checkKeyLengths(int, java.math.BigInteger, int, int);
descriptor: (ILjava/math/BigInteger;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifle 4
iload 0
iload 2
if_icmpge 4
1: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "RSA keys must be at least "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
sipush 16384
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 5: iload 0
iload 4
if_icmple 9
6: new java.security.InvalidKeyException
dup
7: new java.lang.StringBuilder
dup
ldc "RSA keys must be no longer than "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int
StackMap stack:
getstatic sun.security.rsa.RSAKeyFactory.restrictExpLen:Z
ifeq 15
aload 1
ifnull 15
10: iload 0
sipush 3072
if_icmple 15
11: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
bipush 64
if_icmple 15
12: new java.security.InvalidKeyException
dup
13: ldc "RSA exponents can be no longer than 64 bits if modulus is greater than 3072 bits"
14: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 modulusLen I
0 16 1 exponent Ljava/math/BigInteger;
0 16 2 minModulusLen I
0 16 3 maxModulusLen I
5 16 4 maxLen I
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
modulusLen
exponent
minModulusLen
maxModulusLen
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.KeyFactorySpi.<init>:()V
1: aload 0
getstatic sun.security.rsa.RSAUtil$KeyType.RSA:Lsun/security/rsa/RSAUtil$KeyType;
putfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/rsa/RSAKeyFactory;
public void <init>(sun.security.rsa.RSAUtil$KeyType);
descriptor: (Lsun/security/rsa/RSAUtil$KeyType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.KeyFactorySpi.<init>:()V
1: aload 0
aload 1
putfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/rsa/RSAKeyFactory;
0 3 1 type Lsun/security/rsa/RSAUtil$KeyType;
MethodParameters:
Name Flags
type
protected java.security.Key engineTranslateKey(java.security.Key);
descriptor: (Ljava/security/Key;)Ljava/security/Key;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.InvalidKeyException
dup
ldc "Key must not be null"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
invokevirtual sun.security.rsa.RSAUtil$KeyType.keyAlgo:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyAlgo:(Ljava/security/Key;Ljava/lang/String;)V
3: aload 1
instanceof sun.security.rsa.RSAPrivateKeyImpl
ifne 6
4: aload 1
instanceof sun.security.rsa.RSAPrivateCrtKeyImpl
ifne 6
5: aload 1
instanceof sun.security.rsa.RSAPublicKeyImpl
ifeq 7
6: StackMap locals:
StackMap stack:
aload 1
areturn
7: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.PublicKey
ifeq 9
8: aload 0
aload 1
checkcast java.security.PublicKey
invokevirtual sun.security.rsa.RSAKeyFactory.translatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
areturn
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.PrivateKey
ifeq 11
10: aload 0
aload 1
checkcast java.security.PrivateKey
invokevirtual sun.security.rsa.RSAKeyFactory.translatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
areturn
11: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Neither a public nor a private key"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/rsa/RSAKeyFactory;
0 12 1 key Ljava/security/Key;
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.rsa.RSAKeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
1: areturn
2: StackMap locals:
StackMap stack: java.security.spec.InvalidKeySpecException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 5: new java.security.spec.InvalidKeySpecException
dup
aload 2
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/rsa/RSAKeyFactory;
0 6 1 keySpec Ljava/security/spec/KeySpec;
3 4 2 e Ljava/security/spec/InvalidKeySpecException;
5 6 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 1 2 Class java.security.spec.InvalidKeySpecException
0 1 4 Class java.security.GeneralSecurityException
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.rsa.RSAKeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
1: areturn
2: StackMap locals:
StackMap stack: java.security.spec.InvalidKeySpecException
astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 5: new java.security.spec.InvalidKeySpecException
dup
aload 2
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/rsa/RSAKeyFactory;
0 6 1 keySpec Ljava/security/spec/KeySpec;
3 4 2 e Ljava/security/spec/InvalidKeySpecException;
5 6 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 1 2 Class java.security.spec.InvalidKeySpecException
0 1 4 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
private java.security.PublicKey translatePublicKey(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Ljava/security/PublicKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.RSAPublicKey
ifeq 10
1: aload 1
checkcast java.security.interfaces.RSAPublicKey
astore 2
start local 2 2: new sun.security.rsa.RSAPublicKeyImpl
dup
3: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
4: aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
5: aload 2
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
6: invokespecial sun.security.rsa.RSAPublicKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
7: areturn
8: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.PublicKey java.security.interfaces.RSAPublicKey
StackMap stack: java.security.ProviderException
astore 3
start local 3 9: new java.security.InvalidKeyException
dup
ldc "Invalid key"
aload 3
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 10: 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 14
11: new sun.security.rsa.RSAPublicKeyImpl
dup
aload 1
invokeinterface java.security.PublicKey.getEncoded:()[B
invokespecial sun.security.rsa.RSAPublicKeyImpl.<init>:([B)V
astore 2
start local 2 12: aload 2
aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
invokevirtual sun.security.rsa.RSAUtil$KeyType.keyAlgo:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyAlgo:(Ljava/security/Key;Ljava/lang/String;)V
13: aload 2
areturn
end local 2 14: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Public keys must be instance of RSAPublicKey or have X.509 encoding"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/rsa/RSAKeyFactory;
0 15 1 key Ljava/security/PublicKey;
2 10 2 rsaKey Ljava/security/interfaces/RSAPublicKey;
9 10 3 e Ljava/security/ProviderException;
12 14 2 translated Ljava/security/interfaces/RSAPublicKey;
Exception table:
from to target type
2 7 8 Class java.security.ProviderException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
private java.security.PrivateKey translatePrivateKey(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 16
1: aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 2
start local 2 2: new sun.security.rsa.RSAPrivateCrtKeyImpl
dup
3: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
4: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
5: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
6: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
7: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
8: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
9: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
10: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
11: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
12: invokespecial sun.security.rsa.RSAPrivateCrtKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;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
13: areturn
14: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.PrivateKey java.security.interfaces.RSAPrivateCrtKey
StackMap stack: java.security.ProviderException
astore 3
start local 3 15: new java.security.InvalidKeyException
dup
ldc "Invalid key"
aload 3
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPrivateKey
ifeq 26
17: aload 1
checkcast java.security.interfaces.RSAPrivateKey
astore 2
start local 2 18: new sun.security.rsa.RSAPrivateKeyImpl
dup
19: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokeinterface java.security.interfaces.RSAPrivateKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
20: aload 2
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
21: aload 2
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
22: invokespecial sun.security.rsa.RSAPrivateKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
23: areturn
24: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.PrivateKey java.security.interfaces.RSAPrivateKey
StackMap stack: java.security.ProviderException
astore 3
start local 3 25: new java.security.InvalidKeyException
dup
ldc "Invalid key"
aload 3
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 26: 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 31
27: aload 1
invokeinterface java.security.PrivateKey.getEncoded:()[B
invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
28: astore 2
start local 2 29: aload 2
aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
invokevirtual sun.security.rsa.RSAUtil$KeyType.keyAlgo:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyAlgo:(Ljava/security/Key;Ljava/lang/String;)V
30: aload 2
areturn
end local 2 31: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Private keys must be instance of RSAPrivate(Crt)Key or have PKCS#8 encoding"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/security/rsa/RSAKeyFactory;
0 32 1 key Ljava/security/PrivateKey;
2 16 2 rsaKey Ljava/security/interfaces/RSAPrivateCrtKey;
15 16 3 e Ljava/security/ProviderException;
18 26 2 rsaKey Ljava/security/interfaces/RSAPrivateKey;
25 26 3 e Ljava/security/ProviderException;
29 31 2 translated Ljava/security/interfaces/RSAPrivateKey;
Exception table:
from to target type
2 13 14 Class java.security.ProviderException
18 23 24 Class java.security.ProviderException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
private java.security.PublicKey generatePublic(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.spec.X509EncodedKeySpec
ifeq 5
1: aload 1
checkcast java.security.spec.X509EncodedKeySpec
astore 2
start local 2 2: new sun.security.rsa.RSAPublicKeyImpl
dup
aload 2
invokevirtual java.security.spec.X509EncodedKeySpec.getEncoded:()[B
invokespecial sun.security.rsa.RSAPublicKeyImpl.<init>:([B)V
astore 3
start local 3 3: aload 3
aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
invokevirtual sun.security.rsa.RSAUtil$KeyType.keyAlgo:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyAlgo:(Ljava/security/Key;Ljava/lang/String;)V
4: aload 3
areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPublicKeySpec
ifeq 15
6: aload 1
checkcast java.security.spec.RSAPublicKeySpec
astore 2
start local 2 7: new sun.security.rsa.RSAPublicKeyImpl
dup
8: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
9: aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
10: aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
11: invokespecial sun.security.rsa.RSAPublicKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
12: areturn
13: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.spec.KeySpec java.security.spec.RSAPublicKeySpec
StackMap stack: java.security.ProviderException
astore 3
start local 3 14: new java.security.spec.InvalidKeySpecException
dup
aload 3
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 15: 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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/rsa/RSAKeyFactory;
0 16 1 keySpec Ljava/security/spec/KeySpec;
2 5 2 x509Spec Ljava/security/spec/X509EncodedKeySpec;
3 5 3 generated Ljava/security/interfaces/RSAPublicKey;
7 15 2 rsaSpec Ljava/security/spec/RSAPublicKeySpec;
14 15 3 e Ljava/security/ProviderException;
Exception table:
from to target type
7 12 13 Class java.security.ProviderException
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
keySpec
private java.security.PrivateKey generatePrivate(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.spec.PKCS8EncodedKeySpec
ifeq 5
1: aload 1
checkcast java.security.spec.PKCS8EncodedKeySpec
astore 2
start local 2 2: aload 2
invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
astore 3
start local 3 3: aload 3
aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
invokevirtual sun.security.rsa.RSAUtil$KeyType.keyAlgo:()Ljava/lang/String;
invokestatic sun.security.rsa.RSAKeyFactory.checkKeyAlgo:(Ljava/security/Key;Ljava/lang/String;)V
4: aload 3
areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPrivateCrtKeySpec
ifeq 21
6: aload 1
checkcast java.security.spec.RSAPrivateCrtKeySpec
astore 2
start local 2 7: new sun.security.rsa.RSAPrivateCrtKeyImpl
dup
8: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
9: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
10: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
11: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
12: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
13: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
14: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
15: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
16: aload 2
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
17: invokespecial sun.security.rsa.RSAPrivateCrtKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;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
18: areturn
19: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.spec.KeySpec java.security.spec.RSAPrivateCrtKeySpec
StackMap stack: java.security.ProviderException
astore 3
start local 3 20: new java.security.spec.InvalidKeySpecException
dup
aload 3
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.spec.RSAPrivateKeySpec
ifeq 31
22: aload 1
checkcast java.security.spec.RSAPrivateKeySpec
astore 2
start local 2 23: new sun.security.rsa.RSAPrivateKeyImpl
dup
24: aload 0
getfield sun.security.rsa.RSAKeyFactory.type:Lsun/security/rsa/RSAUtil$KeyType;
aload 2
invokevirtual java.security.spec.RSAPrivateKeySpec.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
25: aload 2
invokevirtual java.security.spec.RSAPrivateKeySpec.getModulus:()Ljava/math/BigInteger;
26: aload 2
invokevirtual java.security.spec.RSAPrivateKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
27: invokespecial sun.security.rsa.RSAPrivateKeyImpl.<init>:(Lsun/security/x509/AlgorithmId;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
28: areturn
29: StackMap locals: sun.security.rsa.RSAKeyFactory java.security.spec.KeySpec java.security.spec.RSAPrivateKeySpec
StackMap stack: java.security.ProviderException
astore 3
start local 3 30: new java.security.spec.InvalidKeySpecException
dup
aload 3
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 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
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/security/rsa/RSAKeyFactory;
0 32 1 keySpec Ljava/security/spec/KeySpec;
2 5 2 pkcsSpec Ljava/security/spec/PKCS8EncodedKeySpec;
3 5 3 generated Ljava/security/interfaces/RSAPrivateKey;
7 21 2 rsaSpec Ljava/security/spec/RSAPrivateCrtKeySpec;
20 21 3 e Ljava/security/ProviderException;
23 31 2 rsaSpec Ljava/security/spec/RSAPrivateKeySpec;
30 31 3 e Ljava/security/ProviderException;
Exception table:
from to target type
7 18 19 Class java.security.ProviderException
23 28 29 Class java.security.ProviderException
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
keySpec
protected <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, java.lang.Class<T>);
descriptor: (Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.rsa.RSAKeyFactory.engineTranslateKey:(Ljava/security/Key;)Ljava/security/Key;
astore 1
1: goto 4
StackMap locals:
StackMap stack: java.security.InvalidKeyException
2: astore 3
start local 3 3: new java.security.spec.InvalidKeySpecException
dup
aload 3
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPublicKey
ifeq 17
5: aload 1
checkcast java.security.interfaces.RSAPublicKey
astore 3
start local 3 6: getstatic sun.security.rsa.RSAKeyFactory.RSA_PUB_KEYSPEC_CLS:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 12
7: aload 2
new java.security.spec.RSAPublicKeySpec
dup
8: aload 3
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
9: aload 3
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
10: aload 3
invokeinterface java.security.interfaces.RSAPublicKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
11: invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
12: StackMap locals: java.security.interfaces.RSAPublicKey
StackMap stack:
getstatic sun.security.rsa.RSAKeyFactory.X509_KEYSPEC_CLS:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
13: aload 2
new java.security.spec.X509EncodedKeySpec
dup
aload 1
invokeinterface java.security.Key.getEncoded:()[B
invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
14: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
15: ldc "KeySpec must be RSAPublicKeySpec or X509EncodedKeySpec for RSA public keys"
16: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPrivateKey
ifeq 47
18: getstatic sun.security.rsa.RSAKeyFactory.PKCS8_KEYSPEC_CLS:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 20
19: aload 2
new java.security.spec.PKCS8EncodedKeySpec
dup
aload 1
invokeinterface java.security.Key.getEncoded:()[B
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
20: StackMap locals:
StackMap stack:
getstatic sun.security.rsa.RSAKeyFactory.RSA_PRIVCRT_KEYSPEC_CLS:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 37
21: aload 1
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 34
22: aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 3
start local 3 23: aload 2
new java.security.spec.RSAPrivateCrtKeySpec
dup
24: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
25: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
26: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
27: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
28: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
29: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
30: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
31: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
32: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
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;Ljava/security/spec/AlgorithmParameterSpec;)V
33: invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
end local 3 34: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
35: ldc "RSAPrivateCrtKeySpec can only be used with CRT keys"
36: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
getstatic sun.security.rsa.RSAKeyFactory.RSA_PRIV_KEYSPEC_CLS:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 44
38: aload 1
checkcast java.security.interfaces.RSAPrivateKey
astore 3
start local 3 39: aload 2
new java.security.spec.RSAPrivateKeySpec
dup
40: aload 3
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
41: aload 3
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
42: aload 3
invokeinterface java.security.interfaces.RSAPrivateKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
43: invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.KeySpec
areturn
end local 3 44: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
45: ldc "KeySpec must be RSAPrivate(Crt)KeySpec or PKCS8EncodedKeySpec for RSA private keys"
46: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
ldc "Neither public nor private key"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lsun/security/rsa/RSAKeyFactory;
0 48 1 key Ljava/security/Key;
0 48 2 keySpec Ljava/lang/Class<TT;>;
3 4 3 e Ljava/security/InvalidKeyException;
6 17 3 rsaKey Ljava/security/interfaces/RSAPublicKey;
23 34 3 crtKey Ljava/security/interfaces/RSAPrivateCrtKey;
39 44 3 rsaKey Ljava/security/interfaces/RSAPrivateKey;
Exception table:
from to target type
0 1 2 Class java.security.InvalidKeyException
Exceptions:
throws java.security.spec.InvalidKeySpecException
Signature: <T::Ljava/security/spec/KeySpec;>(Ljava/security/Key;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
key
keySpec
}
SourceFile: "RSAKeyFactory.java"
NestMembers:
sun.security.rsa.RSAKeyFactory$Legacy sun.security.rsa.RSAKeyFactory$PSS
InnerClasses:
public final Legacy = sun.security.rsa.RSAKeyFactory$Legacy of sun.security.rsa.RSAKeyFactory
public final PSS = sun.security.rsa.RSAKeyFactory$PSS of sun.security.rsa.RSAKeyFactory
public final KeyType = sun.security.rsa.RSAUtil$KeyType of sun.security.rsa.RSAUtil