public class org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory
super_class: java.lang.Object
{
private static java.util.Set cryptoProOids;
descriptor: Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashSet
dup
iconst_5
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
1: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_A:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_B:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_C:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchA:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_XchB:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/crypto/util/SubjectPublicKeyInfoFactory;
public static org.bouncycastle.asn1.x509.SubjectPublicKeyInfo createSubjectPublicKeyInfo(org.bouncycastle.crypto.params.AsymmetricKeyParameter);
descriptor: (Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=11, args_size=1
start local 0 0: aload 0
instanceof org.bouncycastle.crypto.params.RSAKeyParameters
ifeq 3
1: aload 0
checkcast org.bouncycastle.crypto.params.RSAKeyParameters
astore 1
start local 1 2: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.rsaEncryption:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
new org.bouncycastle.asn1.pkcs.RSAPublicKey
dup
aload 1
invokevirtual org.bouncycastle.crypto.params.RSAKeyParameters.getModulus:()Ljava/math/BigInteger;
aload 1
invokevirtual org.bouncycastle.crypto.params.RSAKeyParameters.getExponent:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.pkcs.RSAPublicKey.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
areturn
end local 1 3: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.DSAPublicKeyParameters
ifeq 10
4: aload 0
checkcast org.bouncycastle.crypto.params.DSAPublicKeyParameters
astore 1
start local 1 5: aconst_null
astore 2
start local 2 6: aload 1
invokevirtual org.bouncycastle.crypto.params.DSAPublicKeyParameters.getParameters:()Lorg/bouncycastle/crypto/params/DSAParameters;
astore 3
start local 3 7: aload 3
ifnull 9
8: new org.bouncycastle.asn1.x509.DSAParameter
dup
aload 3
invokevirtual org.bouncycastle.crypto.params.DSAParameters.getP:()Ljava/math/BigInteger;
aload 3
invokevirtual org.bouncycastle.crypto.params.DSAParameters.getQ:()Ljava/math/BigInteger;
aload 3
invokevirtual org.bouncycastle.crypto.params.DSAParameters.getG:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.x509.DSAParameter.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 2
9: StackMap locals: org.bouncycastle.crypto.params.DSAPublicKeyParameters org.bouncycastle.asn1.x509.DSAParameter org.bouncycastle.crypto.params.DSAParameters
StackMap stack:
new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_dsa:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 2
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
new org.bouncycastle.asn1.ASN1Integer
dup
aload 1
invokevirtual org.bouncycastle.crypto.params.DSAPublicKeyParameters.getY:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
areturn
end local 3 end local 2 end local 1 10: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters
ifeq 57
11: aload 0
checkcast org.bouncycastle.crypto.params.ECPublicKeyParameters
astore 1
start local 1 12: aload 1
invokevirtual org.bouncycastle.crypto.params.ECPublicKeyParameters.getParameters:()Lorg/bouncycastle/crypto/params/ECDomainParameters;
astore 2
start local 2 13: aload 2
ifnonnull 16
14: new org.bouncycastle.asn1.x9.X962Parameters
dup
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokespecial org.bouncycastle.asn1.x9.X962Parameters.<init>:(Lorg/bouncycastle/asn1/ASN1Null;)V
astore 3
start local 3 15: goto 55
end local 3 16: StackMap locals: org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters
StackMap stack:
aload 2
instanceof org.bouncycastle.crypto.params.ECGOST3410Parameters
ifeq 44
17: aload 2
checkcast org.bouncycastle.crypto.params.ECGOST3410Parameters
astore 4
start local 4 18: aload 1
invokevirtual org.bouncycastle.crypto.params.ECPublicKeyParameters.getQ:()Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
astore 5
start local 5 19: aload 1
invokevirtual org.bouncycastle.crypto.params.ECPublicKeyParameters.getQ:()Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
astore 6
start local 6 20: new org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters
dup
aload 4
invokevirtual org.bouncycastle.crypto.params.ECGOST3410Parameters.getPublicKeyParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 4
invokevirtual org.bouncycastle.crypto.params.ECGOST3410Parameters.getDigestParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
astore 3
start local 3 21: getstatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.cryptoProOids:Ljava/util/Set;
aload 4
invokevirtual org.bouncycastle.crypto.params.ECGOST3410Parameters.getPublicKeyParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 26
22: bipush 64
istore 7
start local 7 23: bipush 32
istore 8
start local 8 24: getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 9
start local 9 25: goto 37
end local 9 end local 8 end local 7 26: StackMap locals: org.bouncycastle.crypto.params.AsymmetricKeyParameter org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.crypto.params.ECGOST3410Parameters java.math.BigInteger java.math.BigInteger
StackMap stack:
aload 5
invokevirtual java.math.BigInteger.bitLength:()I
sipush 256
if_icmple 27
iconst_1
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 10
start local 10 29: iload 10
ifeq 34
30: sipush 128
istore 7
start local 7 31: bipush 64
istore 8
start local 8 32: getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 9
start local 9 33: goto 37
end local 9 end local 8 end local 7 34: StackMap locals: org.bouncycastle.crypto.params.AsymmetricKeyParameter org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.crypto.params.ECGOST3410Parameters java.math.BigInteger java.math.BigInteger top top top int
StackMap stack:
bipush 64
istore 7
start local 7 35: bipush 32
istore 8
start local 8 36: getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 9
end local 10 start local 9 37: StackMap locals: org.bouncycastle.crypto.params.AsymmetricKeyParameter org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.crypto.params.ECGOST3410Parameters java.math.BigInteger java.math.BigInteger int int org.bouncycastle.asn1.ASN1ObjectIdentifier
StackMap stack:
iload 7
newarray 8
astore 10
start local 10 38: aload 10
iload 7
iconst_2
idiv
iconst_0
aload 5
invokestatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.extractBytes:([BIILjava/math/BigInteger;)V
39: aload 10
iload 7
iconst_2
idiv
iload 8
aload 6
invokestatic org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory.extractBytes:([BIILjava/math/BigInteger;)V
40: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 9
aload 3
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
new org.bouncycastle.asn1.DEROctetString
dup
aload 10
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
41: areturn
42: StackMap locals: org.bouncycastle.crypto.params.AsymmetricKeyParameter org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.crypto.params.ECGOST3410Parameters java.math.BigInteger java.math.BigInteger int int org.bouncycastle.asn1.ASN1ObjectIdentifier byte[]
StackMap stack: java.io.IOException
pop
43: aconst_null
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 44: StackMap locals: org.bouncycastle.crypto.params.AsymmetricKeyParameter org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECDomainParameters
StackMap stack:
aload 2
instanceof org.bouncycastle.crypto.params.ECNamedDomainParameters
ifeq 47
45: new org.bouncycastle.asn1.x9.X962Parameters
dup
aload 2
checkcast org.bouncycastle.crypto.params.ECNamedDomainParameters
invokevirtual org.bouncycastle.crypto.params.ECNamedDomainParameters.getName:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x9.X962Parameters.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
astore 3
start local 3 46: goto 55
end local 3 47: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.x9.X9ECParameters
dup
48: aload 2
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
49: aload 2
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getG:()Lorg/bouncycastle/math/ec/ECPoint;
50: aload 2
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getN:()Ljava/math/BigInteger;
51: aload 2
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getH:()Ljava/math/BigInteger;
52: aload 2
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getSeed:()[B
53: invokespecial org.bouncycastle.asn1.x9.X9ECParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
astore 4
start local 4 54: new org.bouncycastle.asn1.x9.X962Parameters
dup
aload 4
invokespecial org.bouncycastle.asn1.x9.X962Parameters.<init>:(Lorg/bouncycastle/asn1/x9/X9ECParameters;)V
astore 3
end local 4 start local 3 55: StackMap locals: org.bouncycastle.asn1.ASN1Encodable
StackMap stack:
new org.bouncycastle.asn1.x9.X9ECPoint
dup
aload 1
invokevirtual org.bouncycastle.crypto.params.ECPublicKeyParameters.getQ:()Lorg/bouncycastle/math/ec/ECPoint;
invokespecial org.bouncycastle.asn1.x9.X9ECPoint.<init>:(Lorg/bouncycastle/math/ec/ECPoint;)V
invokevirtual org.bouncycastle.asn1.x9.X9ECPoint.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
checkcast org.bouncycastle.asn1.ASN1OctetString
astore 4
start local 4 56: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.id_ecPublicKey:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 3
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
aload 4
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 4 end local 3 end local 2 end local 1 57: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.X448PublicKeyParameters
ifeq 60
58: aload 0
checkcast org.bouncycastle.crypto.params.X448PublicKeyParameters
astore 1
start local 1 59: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.edec.EdECObjectIdentifiers.id_X448:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
aload 1
invokevirtual org.bouncycastle.crypto.params.X448PublicKeyParameters.getEncoded:()[B
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 1 60: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.X25519PublicKeyParameters
ifeq 63
61: aload 0
checkcast org.bouncycastle.crypto.params.X25519PublicKeyParameters
astore 1
start local 1 62: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.edec.EdECObjectIdentifiers.id_X25519:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
aload 1
invokevirtual org.bouncycastle.crypto.params.X25519PublicKeyParameters.getEncoded:()[B
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 1 63: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.Ed448PublicKeyParameters
ifeq 66
64: aload 0
checkcast org.bouncycastle.crypto.params.Ed448PublicKeyParameters
astore 1
start local 1 65: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.edec.EdECObjectIdentifiers.id_Ed448:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
aload 1
invokevirtual org.bouncycastle.crypto.params.Ed448PublicKeyParameters.getEncoded:()[B
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 1 66: StackMap locals:
StackMap stack:
aload 0
instanceof org.bouncycastle.crypto.params.Ed25519PublicKeyParameters
ifeq 69
67: aload 0
checkcast org.bouncycastle.crypto.params.Ed25519PublicKeyParameters
astore 1
start local 1 68: new org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
dup
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.edec.EdECObjectIdentifiers.id_Ed25519:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
aload 1
invokevirtual org.bouncycastle.crypto.params.Ed25519PublicKeyParameters.getEncoded:()[B
invokespecial org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 1 69: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "key parameters not recognized"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 publicKey Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
2 3 1 pub Lorg/bouncycastle/crypto/params/RSAKeyParameters;
5 10 1 pub Lorg/bouncycastle/crypto/params/DSAPublicKeyParameters;
6 10 2 params Lorg/bouncycastle/asn1/x509/DSAParameter;
7 10 3 dsaParams Lorg/bouncycastle/crypto/params/DSAParameters;
12 57 1 pub Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;
13 57 2 domainParams Lorg/bouncycastle/crypto/params/ECDomainParameters;
15 16 3 params Lorg/bouncycastle/asn1/ASN1Encodable;
21 44 3 params Lorg/bouncycastle/asn1/ASN1Encodable;
46 47 3 params Lorg/bouncycastle/asn1/ASN1Encodable;
55 57 3 params Lorg/bouncycastle/asn1/ASN1Encodable;
18 44 4 gostParams Lorg/bouncycastle/crypto/params/ECGOST3410Parameters;
19 44 5 bX Ljava/math/BigInteger;
20 44 6 bY Ljava/math/BigInteger;
23 26 7 encKeySize I
31 34 7 encKeySize I
35 44 7 encKeySize I
24 26 8 offset I
32 34 8 offset I
36 44 8 offset I
25 26 9 algIdentifier Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
33 34 9 algIdentifier Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
37 44 9 algIdentifier Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
29 37 10 is512 Z
38 44 10 encKey [B
54 55 4 ecP Lorg/bouncycastle/asn1/x9/X9ECParameters;
56 57 4 p Lorg/bouncycastle/asn1/ASN1OctetString;
59 60 1 key Lorg/bouncycastle/crypto/params/X448PublicKeyParameters;
62 63 1 key Lorg/bouncycastle/crypto/params/X25519PublicKeyParameters;
65 66 1 key Lorg/bouncycastle/crypto/params/Ed448PublicKeyParameters;
68 69 1 key Lorg/bouncycastle/crypto/params/Ed25519PublicKeyParameters;
Exception table:
from to target type
40 41 42 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
publicKey
private static void (byte[], int, int, java.math.BigInteger);
descriptor: ([BIILjava/math/BigInteger;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 4
start local 4 1: aload 4
arraylength
iload 1
if_icmpge 5
2: iload 1
newarray 8
astore 5
start local 5 3: aload 4
iconst_0
aload 5
aload 5
arraylength
aload 4
arraylength
isub
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 5
astore 4
end local 5 5: StackMap locals: byte[]
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 0
iload 2
iload 5
iadd
aload 4
aload 4
arraylength
iconst_1
isub
iload 5
isub
baload
bastore
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 1
if_icmpne 7
end local 5 10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 encKey [B
0 11 1 size I
0 11 2 offSet I
0 11 3 bI Ljava/math/BigInteger;
1 11 4 val [B
3 5 5 tmp [B
6 10 5 i I
MethodParameters:
Name Flags
encKey
size
offSet
bI
}
SourceFile: "SubjectPublicKeyInfoFactory.java"