public abstract class org.bouncycastle.jce.provider.JDKKeyFactory extends java.security.KeyFactorySpi
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.jce.provider.JDKKeyFactory
super_class: java.security.KeyFactorySpi
{
protected boolean elGamalFactory;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.KeyFactorySpi.<init>:()V
1: aload 0
iconst_0
putfield org.bouncycastle.jce.provider.JDKKeyFactory.elGamalFactory:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory;
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 start local 1 0: aload 1
instanceof java.security.spec.PKCS8EncodedKeySpec
ifeq 6
1: aload 1
checkcast java.security.spec.PKCS8EncodedKeySpec
invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
2: invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPrivateKeyFromDERStream:([B)Ljava/security/PrivateKey;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 5: new java.security.spec.InvalidKeySpecException
dup
aload 2
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 2 6: 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
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 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory;
0 7 1 keySpec Ljava/security/spec/KeySpec;
5 6 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 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=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.spec.X509EncodedKeySpec
ifeq 6
1: aload 1
checkcast java.security.spec.X509EncodedKeySpec
invokevirtual java.security.spec.X509EncodedKeySpec.getEncoded:()[B
2: invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPublicKeyFromDERStream:([B)Ljava/security/PublicKey;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 5: new java.security.spec.InvalidKeySpecException
dup
aload 2
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 2 6: 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
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 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory;
0 7 1 keySpec Ljava/security/spec/KeySpec;
5 6 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.lang.Exception
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
protected java.security.spec.KeySpec engineGetKeySpec(java.security.Key, java.lang.Class);
descriptor: (Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc Ljava/security/spec/PKCS8EncodedKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
aload 1
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "PKCS#8"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: new java.security.spec.PKCS8EncodedKeySpec
dup
aload 1
invokeinterface java.security.Key.getEncoded:()[B
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
areturn
2: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/spec/X509EncodedKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
aload 1
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "X.509"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new java.security.spec.X509EncodedKeySpec
dup
aload 1
invokeinterface java.security.Key.getEncoded:()[B
invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
areturn
4: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/spec/RSAPublicKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 7
aload 1
instanceof java.security.interfaces.RSAPublicKey
ifeq 7
5: aload 1
checkcast java.security.interfaces.RSAPublicKey
astore 3
start local 3 6: new java.security.spec.RSAPublicKeySpec
dup
aload 3
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
aload 3
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 3 7: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/spec/RSAPrivateKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
aload 1
instanceof java.security.interfaces.RSAPrivateKey
ifeq 10
8: aload 1
checkcast java.security.interfaces.RSAPrivateKey
astore 3
start local 3 9: new java.security.spec.RSAPrivateKeySpec
dup
aload 3
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
aload 3
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
aload 1
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 19
11: aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 3
start local 3 12: new java.security.spec.RSAPrivateCrtKeySpec
dup
13: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
14: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
15: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
16: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
17: aload 3
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
18: 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
areturn
end local 3 19: StackMap locals:
StackMap stack:
aload 2
ldc Ljavax/crypto/spec/DHPrivateKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 22
aload 1
instanceof javax.crypto.interfaces.DHPrivateKey
ifeq 22
20: aload 1
checkcast javax.crypto.interfaces.DHPrivateKey
astore 3
start local 3 21: new javax.crypto.spec.DHPrivateKeySpec
dup
aload 3
invokeinterface javax.crypto.interfaces.DHPrivateKey.getX:()Ljava/math/BigInteger;
aload 3
invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
aload 3
invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial javax.crypto.spec.DHPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 3 22: StackMap locals:
StackMap stack:
aload 2
ldc Ljavax/crypto/spec/DHPublicKeySpec;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 25
aload 1
instanceof javax.crypto.interfaces.DHPublicKey
ifeq 25
23: aload 1
checkcast javax.crypto.interfaces.DHPublicKey
astore 3
start local 3 24: new javax.crypto.spec.DHPublicKeySpec
dup
aload 3
invokeinterface javax.crypto.interfaces.DHPublicKey.getY:()Ljava/math/BigInteger;
aload 3
invokeinterface javax.crypto.interfaces.DHPublicKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
aload 3
invokeinterface javax.crypto.interfaces.DHPublicKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial javax.crypto.spec.DHPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 3 25: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "not implemented yet "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory;
0 26 1 key Ljava/security/Key;
0 26 2 spec Ljava/lang/Class;
6 7 3 k Ljava/security/interfaces/RSAPublicKey;
9 10 3 k Ljava/security/interfaces/RSAPrivateKey;
12 19 3 k Ljava/security/interfaces/RSAPrivateCrtKey;
21 22 3 k Ljavax/crypto/interfaces/DHPrivateKey;
24 25 3 k Ljavax/crypto/interfaces/DHPublicKey;
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
key
spec
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
instanceof java.security.interfaces.RSAPublicKey
ifeq 2
1: new org.bouncycastle.jce.provider.JCERSAPublicKey
dup
aload 1
checkcast java.security.interfaces.RSAPublicKey
invokespecial org.bouncycastle.jce.provider.JCERSAPublicKey.<init>:(Ljava/security/interfaces/RSAPublicKey;)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 4
3: new org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
dup
aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.<init>:(Ljava/security/interfaces/RSAPrivateCrtKey;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.RSAPrivateKey
ifeq 6
5: new org.bouncycastle.jce.provider.JCERSAPrivateKey
dup
aload 1
checkcast java.security.interfaces.RSAPrivateKey
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateKey.<init>:(Ljava/security/interfaces/RSAPrivateKey;)V
areturn
6: StackMap locals:
StackMap stack:
aload 1
instanceof javax.crypto.interfaces.DHPublicKey
ifeq 10
7: aload 0
getfield org.bouncycastle.jce.provider.JDKKeyFactory.elGamalFactory:Z
ifeq 9
8: new org.bouncycastle.jce.provider.JCEElGamalPublicKey
dup
aload 1
checkcast javax.crypto.interfaces.DHPublicKey
invokespecial org.bouncycastle.jce.provider.JCEElGamalPublicKey.<init>:(Ljavax/crypto/interfaces/DHPublicKey;)V
areturn
9: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.JCEDHPublicKey
dup
aload 1
checkcast javax.crypto.interfaces.DHPublicKey
invokespecial org.bouncycastle.jce.provider.JCEDHPublicKey.<init>:(Ljavax/crypto/interfaces/DHPublicKey;)V
areturn
10: StackMap locals:
StackMap stack:
aload 1
instanceof javax.crypto.interfaces.DHPrivateKey
ifeq 14
11: aload 0
getfield org.bouncycastle.jce.provider.JDKKeyFactory.elGamalFactory:Z
ifeq 13
12: new org.bouncycastle.jce.provider.JCEElGamalPrivateKey
dup
aload 1
checkcast javax.crypto.interfaces.DHPrivateKey
invokespecial org.bouncycastle.jce.provider.JCEElGamalPrivateKey.<init>:(Ljavax/crypto/interfaces/DHPrivateKey;)V
areturn
13: StackMap locals:
StackMap stack:
new org.bouncycastle.jce.provider.JCEDHPrivateKey
dup
aload 1
checkcast javax.crypto.interfaces.DHPrivateKey
invokespecial org.bouncycastle.jce.provider.JCEDHPrivateKey.<init>:(Ljavax/crypto/interfaces/DHPrivateKey;)V
areturn
14: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.DSAPublicKey
ifeq 16
15: new org.bouncycastle.jce.provider.JDKDSAPublicKey
dup
aload 1
checkcast java.security.interfaces.DSAPublicKey
invokespecial org.bouncycastle.jce.provider.JDKDSAPublicKey.<init>:(Ljava/security/interfaces/DSAPublicKey;)V
areturn
16: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.DSAPrivateKey
ifeq 18
17: new org.bouncycastle.jce.provider.JDKDSAPrivateKey
dup
aload 1
checkcast java.security.interfaces.DSAPrivateKey
invokespecial org.bouncycastle.jce.provider.JDKDSAPrivateKey.<init>:(Ljava/security/interfaces/DSAPrivateKey;)V
areturn
18: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.jce.interfaces.ElGamalPublicKey
ifeq 20
19: new org.bouncycastle.jce.provider.JCEElGamalPublicKey
dup
aload 1
checkcast org.bouncycastle.jce.interfaces.ElGamalPublicKey
invokespecial org.bouncycastle.jce.provider.JCEElGamalPublicKey.<init>:(Lorg/bouncycastle/jce/interfaces/ElGamalPublicKey;)V
areturn
20: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.jce.interfaces.ElGamalPrivateKey
ifeq 22
21: new org.bouncycastle.jce.provider.JCEElGamalPrivateKey
dup
aload 1
checkcast org.bouncycastle.jce.interfaces.ElGamalPrivateKey
invokespecial org.bouncycastle.jce.provider.JCEElGamalPrivateKey.<init>:(Lorg/bouncycastle/jce/interfaces/ElGamalPrivateKey;)V
areturn
22: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "key type unknown"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/bouncycastle/jce/provider/JDKKeyFactory;
0 23 1 key Ljava/security/Key;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
public static java.security.PublicKey createPublicKeyFromDERStream(byte[]);
descriptor: ([B)Ljava/security/PublicKey;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
1: invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPublicKeyFromPublicKeyInfo:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 in [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
static java.security.PublicKey createPublicKeyFromPublicKeyInfo(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.jce.provider.RSAUtil.isRsaOid:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Z
ifeq 3
2: new org.bouncycastle.jce.provider.JCERSAPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCERSAPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
3: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.dhKeyAgreement:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new org.bouncycastle.jce.provider.JCEDHPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEDHPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.dhpublicnumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new org.bouncycastle.jce.provider.JCEDHPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEDHPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.elGamalAlgorithm:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new org.bouncycastle.jce.provider.JCEElGamalPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEElGamalPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_dsa:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 11
10: new org.bouncycastle.jce.provider.JDKDSAPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JDKDSAPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
11: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.dsaWithSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 13
12: new org.bouncycastle.jce.provider.JDKDSAPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JDKDSAPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
13: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_ecPublicKey:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 15
14: new org.bouncycastle.jce.provider.JCEECPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEECPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
15: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_94:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 17
16: new org.bouncycastle.jce.provider.JDKGOST3410PublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JDKGOST3410PublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
17: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 19
18: new org.bouncycastle.jce.provider.JCEECPublicKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEECPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
areturn
19: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "algorithm identifier "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in key not recognised"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 info Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
1 20 1 algOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
MethodParameters:
Name Flags
info
protected static java.security.PrivateKey createPrivateKeyFromDERStream(byte[]);
descriptor: ([B)Ljava/security/PrivateKey;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.asn1.pkcs.PrivateKeyInfo
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.pkcs.PrivateKeyInfo.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
1: invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPrivateKeyFromPrivateKeyInfo:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)Ljava/security/PrivateKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 in [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
static java.security.PrivateKey createPrivateKeyFromPrivateKeyInfo(org.bouncycastle.asn1.pkcs.PrivateKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)Ljava/security/PrivateKey;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getAlgorithmId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.jce.provider.RSAUtil.isRsaOid:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Z
ifeq 3
2: new org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCERSAPrivateCrtKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
3: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.dhKeyAgreement:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new org.bouncycastle.jce.provider.JCEDHPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEDHPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.dhpublicnumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new org.bouncycastle.jce.provider.JCEDHPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEDHPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.elGamalAlgorithm:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new org.bouncycastle.jce.provider.JCEElGamalPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEElGamalPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_dsa:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 11
10: new org.bouncycastle.jce.provider.JDKDSAPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JDKDSAPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
11: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_ecPublicKey:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 13
12: new org.bouncycastle.jce.provider.JCEECPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEECPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
13: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_94:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 15
14: new org.bouncycastle.jce.provider.JDKGOST3410PrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JDKGOST3410PrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
15: StackMap locals:
StackMap stack:
aload 1
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001:Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 17
16: new org.bouncycastle.jce.provider.JCEECPrivateKey
dup
aload 0
invokespecial org.bouncycastle.jce.provider.JCEECPrivateKey.<init>:(Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;)V
areturn
17: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "algorithm identifier "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in key not recognised"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 info Lorg/bouncycastle/asn1/pkcs/PrivateKeyInfo;
1 18 1 algOid Lorg/bouncycastle/asn1/DERObjectIdentifier;
MethodParameters:
Name Flags
info
}
SourceFile: "JDKKeyFactory.java"
NestMembers:
org.bouncycastle.jce.provider.JDKKeyFactory$DH org.bouncycastle.jce.provider.JDKKeyFactory$DSA org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal org.bouncycastle.jce.provider.JDKKeyFactory$GOST3410 org.bouncycastle.jce.provider.JDKKeyFactory$RSA org.bouncycastle.jce.provider.JDKKeyFactory$X509
InnerClasses:
public DH = org.bouncycastle.jce.provider.JDKKeyFactory$DH of org.bouncycastle.jce.provider.JDKKeyFactory
public DSA = org.bouncycastle.jce.provider.JDKKeyFactory$DSA of org.bouncycastle.jce.provider.JDKKeyFactory
public ElGamal = org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal of org.bouncycastle.jce.provider.JDKKeyFactory
public GOST3410 = org.bouncycastle.jce.provider.JDKKeyFactory$GOST3410 of org.bouncycastle.jce.provider.JDKKeyFactory
public RSA = org.bouncycastle.jce.provider.JDKKeyFactory$RSA of org.bouncycastle.jce.provider.JDKKeyFactory
public X509 = org.bouncycastle.jce.provider.JDKKeyFactory$X509 of org.bouncycastle.jce.provider.JDKKeyFactory