public class org.bouncycastle.jce.provider.JDKKeyFactory$RSA extends org.bouncycastle.jce.provider.JDKKeyFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JDKKeyFactory$RSA
super_class: org.bouncycastle.jce.provider.JDKKeyFactory
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
0: .line 326
aload 0 /* this */
invokespecial org.bouncycastle.jce.provider.JDKKeyFactory.<init>:()V
1: .line 328
return
end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory$RSA;
protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
start local 1 // java.security.spec.KeySpec keySpec
0: .line 334
aload 1 /* keySpec */
instanceof java.security.spec.PKCS8EncodedKeySpec
ifeq 13
1: .line 339
aload 1 /* keySpec */
checkcast java.security.spec.PKCS8EncodedKeySpec
invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
2: .line 338
invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPrivateKeyFromDERStream:([B)Ljava/security/PrivateKey;
3: areturn
4: .line 341
StackMap locals:
StackMap stack: java.lang.Exception
pop
5: .line 348
new org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
dup
6: .line 349
new org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure
dup
7: .line 350
aload 1 /* keySpec */
checkcast java.security.spec.PKCS8EncodedKeySpec
invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
8: .line 349
invokespecial org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
9: .line 348
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.<init>:(Lorg/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure;)V
10: areturn
11: .line 352
StackMap locals:
StackMap stack: java.lang.Exception
astore 2 /* ex */
start local 2 // java.lang.Exception ex
12: .line 354
new java.security.spec.InvalidKeySpecException
dup
aload 2 /* ex */
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // java.lang.Exception ex
13: .line 358
StackMap locals:
StackMap stack:
aload 1 /* keySpec */
instanceof java.security.spec.RSAPrivateCrtKeySpec
ifeq 15
14: .line 360
new org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
dup
aload 1 /* keySpec */
checkcast java.security.spec.RSAPrivateCrtKeySpec
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.<init>:(Ljava/security/spec/RSAPrivateCrtKeySpec;)V
areturn
15: .line 362
StackMap locals:
StackMap stack:
aload 1 /* keySpec */
instanceof java.security.spec.RSAPrivateKeySpec
ifeq 17
16: .line 364
new org.bouncycastle.jce.provider.JCERSAPrivateKey
dup
aload 1 /* keySpec */
checkcast java.security.spec.RSAPrivateKeySpec
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:(Ljava/security/spec/RSAPrivateKeySpec;)V
areturn
17: .line 367
StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
new java.lang.StringBuilder
dup
ldc "Unknown KeySpec type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* keySpec */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 1 // java.security.spec.KeySpec keySpec
end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory$RSA;
0 18 1 keySpec Ljava/security/spec/KeySpec;
12 13 2 ex Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.lang.Exception
5 10 11 Class java.lang.Exception
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
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=2, args_size=2
start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
start local 1 // java.security.spec.KeySpec keySpec
0: .line 374
aload 1 /* keySpec */
instanceof java.security.spec.RSAPublicKeySpec
ifeq 2
1: .line 376
new org.bouncycastle.jce.provider.JCERSAPublicKey
dup
aload 1 /* keySpec */
checkcast java.security.spec.RSAPublicKeySpec
invokespecial org.bouncycastle.jce.provider.JCERSAPublicKey.<init>:(Ljava/security/spec/RSAPublicKeySpec;)V
areturn
2: .line 379
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* keySpec */
invokespecial org.bouncycastle.jce.provider.JDKKeyFactory.engineGeneratePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
areturn
end local 1 // java.security.spec.KeySpec keySpec
end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$RSA this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory$RSA;
0 3 1 keySpec Ljava/security/spec/KeySpec;
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
}
SourceFile: "JDKKeyFactory.java"
NestHost: org.bouncycastle.jce.provider.JDKKeyFactory
InnerClasses:
public RSA = org.bouncycastle.jce.provider.JDKKeyFactory$RSA of org.bouncycastle.jce.provider.JDKKeyFactory