public class org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper extends org.bouncycastle.operator.AsymmetricKeyWrapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper
super_class: org.bouncycastle.operator.AsymmetricKeyWrapper
{
private static final java.util.Set gostAlgs;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.bouncycastle.operator.jcajce.OperatorHelper helper;
descriptor: Lorg/bouncycastle/operator/jcajce/OperatorHelper;
flags: (0x0002) ACC_PRIVATE
private java.util.Map ;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
private java.security.PublicKey publicKey;
descriptor: Ljava/security/PublicKey;
flags: (0x0002) ACC_PRIVATE
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private static final java.util.Map digests;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
1: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_ESDH:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_agreement_gost_3410_12_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_agreement_gost_3410_12_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
8: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-1"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.idSHA1: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-1"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.idSHA1: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA224"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha224: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-224"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha224: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA256"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha256: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-256"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha256: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA384"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha384: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-384"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha384: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA512"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-512"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA512/224"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_224: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-512/224"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_224: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-512(224)"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_224: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA512/256"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_256: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-512/256"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_256: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
ldc "SHA-512(256)"
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_256: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
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isGOST(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.gostAlgs:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
public void <init>(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.security.PublicKey.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.operator.AsymmetricKeyWrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
1: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extraMappings:Ljava/util/Map;
3: aload 0
aload 1
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 5 1 publicKey Ljava/security/PublicKey;
MethodParameters:
Name Flags
publicKey
public void <init>(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.<init>:(Ljava/security/PublicKey;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 2 1 certificate Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
certificate
public void <init>(org.bouncycastle.asn1.x509.AlgorithmIdentifier, java.security.PublicKey);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/PublicKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.bouncycastle.operator.AsymmetricKeyWrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
1: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extraMappings:Ljava/util/Map;
3: aload 0
aload 2
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 5 1 algorithmIdentifier Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 publicKey Ljava/security/PublicKey;
MethodParameters:
Name Flags
algorithmIdentifier
publicKey
public void <init>(java.security.spec.AlgorithmParameterSpec, java.security.PublicKey);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/PublicKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extractFromSpec:(Ljava/security/spec/AlgorithmParameterSpec;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.operator.AsymmetricKeyWrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
1: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extraMappings:Ljava/util/Map;
3: aload 0
aload 2
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 5 1 algorithmParameterSpec Ljava/security/spec/AlgorithmParameterSpec;
0 5 2 publicKey Ljava/security/PublicKey;
MethodParameters:
Name Flags
algorithmParameterSpec
publicKey
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.ProviderJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.ProviderJcaJceHelper.<init>:(Ljava/security/Provider;)V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 2 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.NamedJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.NamedJcaJceHelper.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 2 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper setSecureRandom(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 2 1 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
random
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper setAlgorithmMapping(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.lang.String);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extraMappings:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 2 1 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 algorithmName Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
algorithmName
public byte[] generateWrappedKey(org.bouncycastle.operator.GenericKey);
descriptor: (Lorg/bouncycastle/operator/GenericKey;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=14, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.isGOST:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 36
2: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
ifnonnull 4
3: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
4: StackMap locals: byte[]
StackMap stack:
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createKeyPairGenerator:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/security/KeyPairGenerator;
astore 3
start local 3 5: aload 3
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
checkcast java.security.interfaces.ECPublicKey
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
invokevirtual java.security.KeyPairGenerator.initialize:(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
6: aload 3
invokevirtual java.security.KeyPairGenerator.generateKeyPair:()Ljava/security/KeyPair;
astore 4
start local 4 7: bipush 8
newarray 8
astore 5
start local 5 8: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
aload 5
invokevirtual java.security.SecureRandom.nextBytes:([B)V
9: aload 4
invokevirtual java.security.KeyPair.getPublic:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getEncoded:()[B
invokestatic org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
astore 6
start local 6 10: aload 6
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.on:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 15
11: new org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters
dup
12: getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_gost_28147_param_Z:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 6
aload 5
13: invokespecial org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;[B)V
astore 7
start local 7 14: goto 18
end local 7 15: StackMap locals: org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper org.bouncycastle.operator.GenericKey byte[] java.security.KeyPairGenerator java.security.KeyPair byte[] org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
StackMap stack:
new org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters
dup
16: getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.id_Gost28147_89_CryptoPro_A_ParamSet:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 6
aload 5
17: invokespecial org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;[B)V
astore 7
start local 7 18: StackMap locals: org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters
StackMap stack:
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createKeyAgreement:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljavax/crypto/KeyAgreement;
astore 8
start local 8 19: aload 8
aload 4
invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
new org.bouncycastle.jcajce.spec.UserKeyingMaterialSpec
dup
aload 7
invokevirtual org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters.getUkm:()[B
invokespecial org.bouncycastle.jcajce.spec.UserKeyingMaterialSpec.<init>:([B)V
invokevirtual javax.crypto.KeyAgreement.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
20: aload 8
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
iconst_1
invokevirtual javax.crypto.KeyAgreement.doPhase:(Ljava/security/Key;Z)Ljava/security/Key;
pop
21: aload 8
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.id_Gost28147_89_CryptoPro_KeyWrap:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual javax.crypto.KeyAgreement.generateSecret:(Ljava/lang/String;)Ljavax/crypto/SecretKey;
astore 9
start local 9 22: aload 1
invokestatic org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey:(Lorg/bouncycastle/operator/GenericKey;)Ljava/security/Key;
invokeinterface java.security.Key.getEncoded:()[B
astore 10
start local 10 23: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.id_Gost28147_89_CryptoPro_KeyWrap:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createCipher:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljavax/crypto/Cipher;
astore 11
start local 11 24: aload 11
iconst_3
aload 9
new org.bouncycastle.jcajce.spec.GOST28147WrapParameterSpec
dup
aload 7
invokevirtual org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters.getEncryptionParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 7
invokevirtual org.bouncycastle.asn1.cryptopro.GostR3410TransportParameters.getUkm:()[B
invokespecial org.bouncycastle.jcajce.spec.GOST28147WrapParameterSpec.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
25: aload 11
new javax.crypto.spec.SecretKeySpec
dup
aload 10
ldc "GOST"
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
invokevirtual javax.crypto.Cipher.wrap:(Ljava/security/Key;)[B
astore 12
start local 12 26: new org.bouncycastle.asn1.cryptopro.GostR3410KeyTransport
dup
27: new org.bouncycastle.asn1.cryptopro.Gost2814789EncryptedKey
dup
28: aload 12
iconst_0
bipush 32
invokestatic org.bouncycastle.util.Arrays.copyOfRange:([BII)[B
aload 12
bipush 32
bipush 36
invokestatic org.bouncycastle.util.Arrays.copyOfRange:([BII)[B
29: invokespecial org.bouncycastle.asn1.cryptopro.Gost2814789EncryptedKey.<init>:([B[B)V
30: aload 7
31: invokespecial org.bouncycastle.asn1.cryptopro.GostR3410KeyTransport.<init>:(Lorg/bouncycastle/asn1/cryptopro/Gost2814789EncryptedKey;Lorg/bouncycastle/asn1/cryptopro/GostR3410TransportParameters;)V
astore 13
start local 13 32: aload 13
invokevirtual org.bouncycastle.asn1.cryptopro.GostR3410KeyTransport.getEncoded:()[B
33: areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 34: StackMap locals: org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper org.bouncycastle.operator.GenericKey byte[]
StackMap stack: java.lang.Exception
astore 3
start local 3 35: new org.bouncycastle.operator.OperatorException
dup
new java.lang.StringBuilder
dup
ldc "exception wrapping key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial org.bouncycastle.operator.OperatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 36: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.extraMappings:Ljava/util/Map;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createAsymmetricWrapper:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/util/Map;)Ljavax/crypto/Cipher;
astore 3
start local 3 37: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createAlgorithmParameters:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/security/AlgorithmParameters;
astore 4
start local 4 38: aload 4
ifnull 41
39: aload 3
iconst_3
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
aload 4
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
40: goto 42
41: StackMap locals: javax.crypto.Cipher java.security.AlgorithmParameters
StackMap stack:
aload 3
iconst_3
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/SecureRandom;)V
42: StackMap locals:
StackMap stack:
aload 3
aload 1
invokestatic org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey:(Lorg/bouncycastle/operator/GenericKey;)Ljava/security/Key;
invokevirtual javax.crypto.Cipher.wrap:(Ljava/security/Key;)[B
astore 2
43: goto 49
44: StackMap locals:
StackMap stack: java.security.InvalidKeyException
pop
goto 49
45: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
pop
goto 49
46: StackMap locals:
StackMap stack: java.lang.IllegalStateException
pop
goto 49
47: StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
pop
goto 49
48: StackMap locals:
StackMap stack: java.security.ProviderException
pop
49: StackMap locals:
StackMap stack:
aload 2
ifnonnull 57
50: aload 3
iconst_1
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.publicKey:Ljava/security/PublicKey;
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.random:Ljava/security/SecureRandom;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/SecureRandom;)V
51: aload 3
aload 1
invokestatic org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey:(Lorg/bouncycastle/operator/GenericKey;)Ljava/security/Key;
invokeinterface java.security.Key.getEncoded:()[B
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 2
52: goto 57
53: StackMap locals:
StackMap stack: java.security.InvalidKeyException
astore 5
start local 5 54: new org.bouncycastle.operator.OperatorException
dup
ldc "unable to encrypt contents key"
aload 5
invokespecial org.bouncycastle.operator.OperatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 55: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 5
start local 5 56: new org.bouncycastle.operator.OperatorException
dup
ldc "unable to encrypt contents key"
aload 5
invokespecial org.bouncycastle.operator.OperatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 57: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper;
0 58 1 encryptionKey Lorg/bouncycastle/operator/GenericKey;
1 58 2 encryptedKeyBytes [B
5 34 3 kpGen Ljava/security/KeyPairGenerator;
7 34 4 ephKp Ljava/security/KeyPair;
8 34 5 ukm [B
10 34 6 ephKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
14 15 7 transParams Lorg/bouncycastle/asn1/cryptopro/GostR3410TransportParameters;
18 34 7 transParams Lorg/bouncycastle/asn1/cryptopro/GostR3410TransportParameters;
19 34 8 agreement Ljavax/crypto/KeyAgreement;
22 34 9 key Ljavax/crypto/SecretKey;
23 34 10 encKey [B
24 34 11 keyCipher Ljavax/crypto/Cipher;
26 34 12 keyData [B
32 34 13 transport Lorg/bouncycastle/asn1/cryptopro/GostR3410KeyTransport;
35 36 3 e Ljava/lang/Exception;
37 57 3 keyEncryptionCipher Ljavax/crypto/Cipher;
38 57 4 algParams Ljava/security/AlgorithmParameters;
54 55 5 e Ljava/security/InvalidKeyException;
56 57 5 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
2 33 34 Class java.lang.Exception
38 43 44 Class java.security.InvalidKeyException
38 43 45 Class java.security.GeneralSecurityException
38 43 46 Class java.lang.IllegalStateException
38 43 47 Class java.lang.UnsupportedOperationException
38 43 48 Class java.security.ProviderException
50 52 53 Class java.security.InvalidKeyException
50 52 55 Class java.security.GeneralSecurityException
Exceptions:
throws org.bouncycastle.operator.OperatorException
MethodParameters:
Name Flags
encryptionKey
private static org.bouncycastle.asn1.x509.AlgorithmIdentifier (java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=13, locals=2, args_size=1
start local 0 0: aload 0
instanceof javax.crypto.spec.OAEPParameterSpec
ifeq 12
1: aload 0
checkcast javax.crypto.spec.OAEPParameterSpec
astore 1
start local 1 2: aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
getstatic javax.crypto.spec.OAEPParameterSpec.DEFAULT:Ljavax/crypto/spec/OAEPParameterSpec;
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
3: aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getPSource:()Ljavax/crypto/spec/PSource;
instanceof javax.crypto.spec.PSource$PSpecified
ifeq 10
4: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_RSAES_OAEP:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
5: new org.bouncycastle.asn1.pkcs.RSAESOAEPparams
dup
aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
invokestatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getDigest:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
6: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_mgf1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFParameters:()Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.MGF1ParameterSpec
invokevirtual java.security.spec.MGF1ParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
invokestatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.getDigest:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
7: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_pSpecified:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DEROctetString
dup
aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getPSource:()Ljavax/crypto/spec/PSource;
checkcast javax.crypto.spec.PSource$PSpecified
invokevirtual javax.crypto.spec.PSource$PSpecified.getValue:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
8: invokespecial org.bouncycastle.asn1.pkcs.RSAESOAEPparams.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
9: invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
areturn
10: StackMap locals: javax.crypto.spec.OAEPParameterSpec
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown PSource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getPSource:()Ljavax/crypto/spec/PSource;
invokevirtual javax.crypto.spec.PSource.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown MGF: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown spec: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 algorithmParameterSpec Ljava/security/spec/AlgorithmParameterSpec;
2 12 1 oaepSpec Ljavax/crypto/spec/OAEPParameterSpec;
MethodParameters:
Name Flags
algorithmParameterSpec
private static org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigest(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.digests:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.x509.AlgorithmIdentifier
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown digest name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 digest Ljava/lang/String;
1 4 1 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
MethodParameters:
Name Flags
digest
}
SourceFile: "JceAsymmetricKeyWrapper.java"
InnerClasses:
public final PSpecified = javax.crypto.spec.PSource$PSpecified of javax.crypto.spec.PSource