public abstract class org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator implements org.bouncycastle.cms.RecipientInfoGenerator
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator
super_class: java.lang.Object
{
private org.bouncycastle.asn1.ASN1ObjectIdentifier keyAgreementOID;
descriptor: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.ASN1ObjectIdentifier keyEncryptionOID;
descriptor: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.SubjectPublicKeyInfo originatorKeyInfo;
descriptor: Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
flags: (0x0002) ACC_PRIVATE
protected void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo, org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.originatorKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
2: aload 0
aload 1
putfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyAgreementOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
3: aload 0
aload 3
putfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/cms/KeyAgreeRecipientInfoGenerator;
0 5 1 keyAgreementOID Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 2 originatorKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
0 5 3 keyEncryptionOID Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
keyAgreementOID
originatorKeyInfo
keyEncryptionOID
public org.bouncycastle.asn1.cms.RecipientInfo generate(org.bouncycastle.operator.GenericKey);
descriptor: (Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/asn1/cms/RecipientInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey
dup
1: aload 0
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.originatorKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
invokevirtual org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.createOriginatorPublicKey:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Lorg/bouncycastle/asn1/cms/OriginatorPublicKey;
2: invokespecial org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey.<init>:(Lorg/bouncycastle/asn1/cms/OriginatorPublicKey;)V
astore 2
start local 2 3: aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokestatic org.bouncycastle.cms.CMSUtils.isDES:(Ljava/lang/String;)Z
ifne 4
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_CMSRC2wrap:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 6
4: StackMap locals: org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey
StackMap stack:
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID: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
astore 3
start local 3 5: goto 10
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyAgreementOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic org.bouncycastle.cms.CMSUtils.isGOST:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
ifeq 9
7: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.cryptopro.Gost2814789KeyWrapParameters
dup
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.id_Gost28147_89_CryptoPro_A_ParamSet:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.cryptopro.Gost2814789KeyWrapParameters.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 3
start local 3 8: goto 10
end local 3 9: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyEncryptionOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
astore 3
start local 3 10: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 0
getfield org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.keyAgreementOID:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 3
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 4
start local 4 11: aload 0
aload 4
aload 3
aload 1
invokevirtual org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.generateRecipientEncryptedKeys:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 5
start local 5 12: aload 0
aload 4
invokevirtual org.bouncycastle.cms.KeyAgreeRecipientInfoGenerator.getUserKeyingMaterial:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)[B
astore 6
start local 6 13: aload 6
ifnull 17
14: new org.bouncycastle.asn1.cms.RecipientInfo
dup
new org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo
dup
aload 2
new org.bouncycastle.asn1.DEROctetString
dup
aload 6
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
15: aload 4
aload 5
invokespecial org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo.<init>:(Lorg/bouncycastle/asn1/cms/OriginatorIdentifierOrKey;Lorg/bouncycastle/asn1/ASN1OctetString;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1Sequence;)V
16: invokespecial org.bouncycastle.asn1.cms.RecipientInfo.<init>:(Lorg/bouncycastle/asn1/cms/KeyAgreeRecipientInfo;)V
areturn
17: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.ASN1Sequence byte[]
StackMap stack:
new org.bouncycastle.asn1.cms.RecipientInfo
dup
new org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo
dup
aload 2
aconst_null
aload 4
aload 5
invokespecial org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo.<init>:(Lorg/bouncycastle/asn1/cms/OriginatorIdentifierOrKey;Lorg/bouncycastle/asn1/ASN1OctetString;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/ASN1Sequence;)V
invokespecial org.bouncycastle.asn1.cms.RecipientInfo.<init>:(Lorg/bouncycastle/asn1/cms/KeyAgreeRecipientInfo;)V
areturn
end local 6 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 18 0 this Lorg/bouncycastle/cms/KeyAgreeRecipientInfoGenerator;
0 18 1 contentEncryptionKey Lorg/bouncycastle/operator/GenericKey;
3 18 2 originator Lorg/bouncycastle/asn1/cms/OriginatorIdentifierOrKey;
5 6 3 keyEncAlg Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
8 9 3 keyEncAlg Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
10 18 3 keyEncAlg Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
11 18 4 keyAgreeAlg Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
12 18 5 recipients Lorg/bouncycastle/asn1/ASN1Sequence;
13 18 6 userKeyingMaterial [B
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
contentEncryptionKey
protected org.bouncycastle.asn1.cms.OriginatorPublicKey createOriginatorPublicKey(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Lorg/bouncycastle/asn1/cms/OriginatorPublicKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.cms.OriginatorPublicKey
dup
1: new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 1
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.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
2: aload 1
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getPublicKeyData:()Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
3: invokespecial org.bouncycastle.asn1.cms.OriginatorPublicKey.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cms/KeyAgreeRecipientInfoGenerator;
0 4 1 originatorKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
MethodParameters:
Name Flags
originatorKeyInfo
protected abstract org.bouncycastle.asn1.ASN1Sequence generateRecipientEncryptedKeys(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.operator.GenericKey);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/asn1/ASN1Sequence;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
keyAgreeAlgorithm
keyEncAlgorithm
contentEncryptionKey
protected abstract byte[] getUserKeyingMaterial(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)[B
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
keyAgreeAlgorithm
}
SourceFile: "KeyAgreeRecipientInfoGenerator.java"