public abstract class org.bouncycastle.cms.bc.BcKeyTransRecipient implements org.bouncycastle.cms.KeyTransRecipient
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.cms.bc.BcKeyTransRecipient
super_class: java.lang.Object
{
private org.bouncycastle.crypto.params.AsymmetricKeyParameter recipientKey;
descriptor: Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.crypto.params.AsymmetricKeyParameter);
descriptor: (Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.bouncycastle.cms.bc.BcKeyTransRecipient this
start local 1 // org.bouncycastle.crypto.params.AsymmetricKeyParameter recipientKey
0: .line 17
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 19
aload 0 /* this */
aload 1 /* recipientKey */
putfield org.bouncycastle.cms.bc.BcKeyTransRecipient.recipientKey:Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
2: .line 20
return
end local 1 // org.bouncycastle.crypto.params.AsymmetricKeyParameter recipientKey
end local 0 // org.bouncycastle.cms.bc.BcKeyTransRecipient this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cms/bc/BcKeyTransRecipient;
0 3 1 recipientKey Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
MethodParameters:
Name Flags
recipientKey
protected org.bouncycastle.crypto.CipherParameters extractSecretKey(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/crypto/CipherParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 // org.bouncycastle.cms.bc.BcKeyTransRecipient this
start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
start local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptedKeyAlgorithm
start local 3 // byte[] encryptedEncryptionKey
0: .line 25
new org.bouncycastle.operator.bc.BcRSAAsymmetricKeyUnwrapper
dup
aload 1 /* keyEncryptionAlgorithm */
aload 0 /* this */
getfield org.bouncycastle.cms.bc.BcKeyTransRecipient.recipientKey:Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
invokespecial org.bouncycastle.operator.bc.BcRSAAsymmetricKeyUnwrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)V
astore 4 /* unwrapper */
start local 4 // org.bouncycastle.operator.AsymmetricKeyUnwrapper unwrapper
1: .line 29
aload 4 /* unwrapper */
aload 2 /* encryptedKeyAlgorithm */
aload 3 /* encryptedEncryptionKey */
invokevirtual org.bouncycastle.operator.AsymmetricKeyUnwrapper.generateUnwrappedKey:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/GenericKey;
invokestatic org.bouncycastle.cms.bc.CMSUtils.getBcKey:(Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/crypto/CipherParameters;
2: areturn
3: .line 31
StackMap locals: org.bouncycastle.cms.bc.BcKeyTransRecipient org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] org.bouncycastle.operator.AsymmetricKeyUnwrapper
StackMap stack: org.bouncycastle.operator.OperatorException
astore 5 /* e */
start local 5 // org.bouncycastle.operator.OperatorException e
4: .line 33
new org.bouncycastle.cms.CMSException
dup
new java.lang.StringBuilder
dup
ldc "exception unwrapping key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5 /* e */
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 5 /* e */
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 5 // org.bouncycastle.operator.OperatorException e
end local 4 // org.bouncycastle.operator.AsymmetricKeyUnwrapper unwrapper
end local 3 // byte[] encryptedEncryptionKey
end local 2 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptedKeyAlgorithm
end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm
end local 0 // org.bouncycastle.cms.bc.BcKeyTransRecipient this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/cms/bc/BcKeyTransRecipient;
0 5 1 keyEncryptionAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 encryptedKeyAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 3 encryptedEncryptionKey [B
1 5 4 unwrapper Lorg/bouncycastle/operator/AsymmetricKeyUnwrapper;
4 5 5 e Lorg/bouncycastle/operator/OperatorException;
Exception table:
from to target type
1 2 3 Class org.bouncycastle.operator.OperatorException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
keyEncryptionAlgorithm
encryptedKeyAlgorithm
encryptedEncryptionKey
}
SourceFile: "BcKeyTransRecipient.java"