public class org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator implements org.bouncycastle.cert.crmf.ValueDecryptorGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator
super_class: java.lang.Object
{
private java.security.PrivateKey recipientKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.cert.crmf.jcajce.CRMFHelper helper;
descriptor: Lorg/bouncycastle/cert/crmf/jcajce/CRMFHelper;
flags: (0x0002) ACC_PRIVATE
private java.security.Provider provider;
descriptor: Ljava/security/Provider;
flags: (0x0002) ACC_PRIVATE
private java.lang.String providerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.bouncycastle.cert.crmf.jcajce.CRMFHelper
dup
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
invokespecial org.bouncycastle.cert.crmf.jcajce.CRMFHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.helper:Lorg/bouncycastle/cert/crmf/jcajce/CRMFHelper;
2: aload 0
aconst_null
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.provider:Ljava/security/Provider;
3: aload 0
aconst_null
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.providerName:Ljava/lang/String;
4: aload 0
aload 1
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.recipientKey:Ljava/security/PrivateKey;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
0 6 1 recipientKey Ljava/security/PrivateKey;
MethodParameters:
Name Flags
recipientKey
public org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.cert.crmf.jcajce.CRMFHelper
dup
new org.bouncycastle.jcajce.util.ProviderJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.ProviderJcaJceHelper.<init>:(Ljava/security/Provider;)V
invokespecial org.bouncycastle.cert.crmf.jcajce.CRMFHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.helper:Lorg/bouncycastle/cert/crmf/jcajce/CRMFHelper;
1: aload 0
aload 1
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.provider:Ljava/security/Provider;
2: aload 0
aconst_null
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.providerName:Ljava/lang/String;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
0 4 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.cert.crmf.jcajce.CRMFHelper
dup
new org.bouncycastle.jcajce.util.NamedJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.NamedJcaJceHelper.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.cert.crmf.jcajce.CRMFHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.helper:Lorg/bouncycastle/cert/crmf/jcajce/CRMFHelper;
1: aload 0
aconst_null
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.provider:Ljava/security/Provider;
2: aload 0
aload 1
putfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.providerName:Ljava/lang/String;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
0 4 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
private java.security.Key (org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Ljava/security/Key;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper
dup
aload 1
aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.recipientKey:Ljava/security/PrivateKey;
invokespecial org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/PrivateKey;)V
astore 4
start local 4 1: aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.provider:Ljava/security/Provider;
ifnull 3
2: aload 4
aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.provider:Ljava/security/Provider;
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.setProvider:(Ljava/security/Provider;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
pop
3: StackMap locals: org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper
StackMap stack:
aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.providerName:Ljava/lang/String;
ifnull 5
4: aload 4
aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.providerName:Ljava/lang/String;
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.setProvider:(Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
pop
5: StackMap locals:
StackMap stack:
new javax.crypto.spec.SecretKeySpec
dup
aload 4
aload 2
aload 3
invokevirtual org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.generateUnwrappedKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/GenericKey;
invokevirtual org.bouncycastle.operator.GenericKey.getRepresentation:()Ljava/lang/Object;
checkcast byte[]
aload 2
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
6: areturn
end local 4 7: StackMap locals: org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[]
StackMap stack: org.bouncycastle.operator.OperatorException
astore 4
start local 4 8: new org.bouncycastle.cert.crmf.CRMFException
dup
new java.lang.StringBuilder
dup
ldc "key invalid in message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.bouncycastle.operator.OperatorException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial org.bouncycastle.cert.crmf.CRMFException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
0 9 1 keyEncryptionAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 9 2 contentEncryptionAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 9 3 encryptedContentEncryptionKey [B
1 7 4 unwrapper Lorg/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper;
8 9 4 e Lorg/bouncycastle/operator/OperatorException;
Exception table:
from to target type
0 6 7 Class org.bouncycastle.operator.OperatorException
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException
MethodParameters:
Name Flags
keyEncryptionAlgorithm
contentEncryptionAlgorithm
encryptedContentEncryptionKey
public org.bouncycastle.operator.InputDecryptor getValueDecryptor(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/InputDecryptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.extractSecretKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Ljava/security/Key;
astore 4
start local 4 1: aload 0
getfield org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.helper:Lorg/bouncycastle/cert/crmf/jcajce/CRMFHelper;
aload 4
aload 2
invokevirtual org.bouncycastle.cert.crmf.jcajce.CRMFHelper.createContentCipher:(Ljava/security/Key;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljavax/crypto/Cipher;
astore 5
start local 5 2: new org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator$1
dup
aload 0
aload 2
aload 5
invokespecial org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator$1.<init>:(Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljavax/crypto/Cipher;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cert/crmf/jcajce/JceAsymmetricValueDecryptorGenerator;
0 3 1 keyEncryptionAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 3 2 contentEncryptionAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 3 3 encryptedContentEncryptionKey [B
1 3 4 secretKey Ljava/security/Key;
2 3 5 dataCipher Ljavax/crypto/Cipher;
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException
MethodParameters:
Name Flags
keyEncryptionAlgorithm
contentEncryptionAlgorithm final
encryptedContentEncryptionKey
}
SourceFile: "JceAsymmetricValueDecryptorGenerator.java"
NestMembers:
org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator$1
InnerClasses:
org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator$1