public class org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper extends org.bouncycastle.operator.AsymmetricKeyUnwrapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper
super_class: org.bouncycastle.operator.AsymmetricKeyUnwrapper
{
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.PrivateKey privKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
private boolean unwrappedKeyMustBeEncodable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.asn1.x509.AlgorithmIdentifier, java.security.PrivateKey);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/PrivateKey;)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.AsymmetricKeyUnwrapper.<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.JceAsymmetricKeyUnwrapper.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.JceAsymmetricKeyUnwrapper.extraMappings:Ljava/util/Map;
3: aload 0
aload 2
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.privKey:Ljava/security/PrivateKey;
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/JceAsymmetricKeyUnwrapper;
0 5 1 algorithmIdentifier Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 privKey Ljava/security/PrivateKey;
MethodParameters:
Name Flags
algorithmIdentifier
privKey
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
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.JceAsymmetricKeyUnwrapper.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/JceAsymmetricKeyUnwrapper;
0 2 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
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.JceAsymmetricKeyUnwrapper.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/JceAsymmetricKeyUnwrapper;
0 2 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper setMustProduceEncodableUnwrappedKey(boolean);
descriptor: (Z)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.unwrappedKeyMustBeEncodable:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
0 2 1 unwrappedKeyMustBeEncodable Z
MethodParameters:
Name Flags
unwrappedKeyMustBeEncodable
public org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper setAlgorithmMapping(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.lang.String);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
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.JceAsymmetricKeyUnwrapper.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/JceAsymmetricKeyUnwrapper;
0 2 1 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 algorithmName Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
algorithmName
public org.bouncycastle.operator.GenericKey generateUnwrappedKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/GenericKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.extraMappings:Ljava/util/Map;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createAsymmetricWrapper:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/util/Map;)Ljavax/crypto/Cipher;
astore 4
start local 4 2: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createAlgorithmParameters:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/security/AlgorithmParameters;
astore 5
start local 5 3: aload 5
ifnull 6
4: aload 4
iconst_4
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.privKey:Ljava/security/PrivateKey;
aload 5
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
5: goto 7
6: StackMap locals: java.security.Key javax.crypto.Cipher java.security.AlgorithmParameters
StackMap stack:
aload 4
iconst_4
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.privKey:Ljava/security/PrivateKey;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
7: StackMap locals:
StackMap stack:
aload 4
aload 2
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.getKeyAlgorithmName:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/lang/String;
iconst_3
invokevirtual javax.crypto.Cipher.unwrap:([BLjava/lang/String;I)Ljava/security/Key;
astore 3
8: aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.unwrappedKeyMustBeEncodable:Z
ifeq 20
9: aload 3
invokeinterface java.security.Key.getEncoded:()[B
astore 6
start local 6 10: aload 6
ifnull 11
aload 6
arraylength
ifne 20
11: StackMap locals: byte[]
StackMap stack:
aconst_null
astore 3
end local 6 12: goto 20
13: StackMap locals: org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] java.security.Key javax.crypto.Cipher java.security.AlgorithmParameters
StackMap stack: java.lang.Exception
pop
14: aconst_null
astore 3
15: goto 20
16: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
pop
goto 20
17: StackMap locals:
StackMap stack: java.lang.IllegalStateException
pop
goto 20
18: StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
pop
goto 20
19: StackMap locals:
StackMap stack: java.security.ProviderException
pop
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 23
21: aload 4
iconst_2
aload 0
getfield org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.privKey:Ljava/security/PrivateKey;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
22: new javax.crypto.spec.SecretKeySpec
dup
aload 4
aload 2
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
astore 3
23: StackMap locals:
StackMap stack:
new org.bouncycastle.operator.jcajce.JceGenericKey
dup
aload 1
aload 3
invokespecial org.bouncycastle.operator.jcajce.JceGenericKey.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/Key;)V
24: areturn
end local 5 end local 4 end local 3 25: StackMap locals: org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[]
StackMap stack: java.security.InvalidKeyException
astore 3
start local 3 26: new org.bouncycastle.operator.OperatorException
dup
new java.lang.StringBuilder
dup
ldc "key invalid: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.security.InvalidKeyException.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 27: StackMap locals:
StackMap stack: javax.crypto.IllegalBlockSizeException
astore 3
start local 3 28: new org.bouncycastle.operator.OperatorException
dup
new java.lang.StringBuilder
dup
ldc "illegal blocksize: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual javax.crypto.IllegalBlockSizeException.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 29: StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
astore 3
start local 3 30: new org.bouncycastle.operator.OperatorException
dup
new java.lang.StringBuilder
dup
ldc "bad padding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual javax.crypto.BadPaddingException.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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
0 31 1 encryptedKeyAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 31 2 encryptedKey [B
1 25 3 sKey Ljava/security/Key;
2 25 4 keyCipher Ljavax/crypto/Cipher;
3 25 5 algParams Ljava/security/AlgorithmParameters;
10 12 6 keyBytes [B
26 27 3 e Ljava/security/InvalidKeyException;
28 29 3 e Ljavax/crypto/IllegalBlockSizeException;
30 31 3 e Ljavax/crypto/BadPaddingException;
Exception table:
from to target type
9 12 13 Class java.lang.Exception
3 15 16 Class java.security.GeneralSecurityException
3 15 17 Class java.lang.IllegalStateException
3 15 18 Class java.lang.UnsupportedOperationException
3 15 19 Class java.security.ProviderException
0 24 25 Class java.security.InvalidKeyException
0 24 27 Class javax.crypto.IllegalBlockSizeException
0 24 29 Class javax.crypto.BadPaddingException
Exceptions:
throws org.bouncycastle.operator.OperatorException
MethodParameters:
Name Flags
encryptedKeyAlgorithm
encryptedKey
}
SourceFile: "JceAsymmetricKeyUnwrapper.java"