class org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor implements org.bouncycastle.operator.OutputEncryptor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor
super_class: java.lang.Object
{
private org.bouncycastle.crypto.params.KeyParameter encKey;
descriptor: Lorg/bouncycastle/crypto/params/KeyParameter;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier;
descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object cipher;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
final org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder this$0;
descriptor: Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder, org.bouncycastle.asn1.ASN1ObjectIdentifier, int, java.security.SecureRandom);
descriptor: (Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ILjava/security/SecureRandom;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.this$0:Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 4
ifnonnull 4
3: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
astore 4
4: StackMap locals: org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder org.bouncycastle.asn1.ASN1ObjectIdentifier int java.security.SecureRandom
StackMap stack:
aload 1
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder.helper:Lorg/bouncycastle/cms/bc/EnvelopedDataHelper;
aload 2
aload 4
invokevirtual org.bouncycastle.cms.bc.EnvelopedDataHelper.createKeyGenerator:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/security/SecureRandom;)Lorg/bouncycastle/crypto/CipherKeyGenerator;
astore 5
start local 5 5: aload 0
new org.bouncycastle.crypto.params.KeyParameter
dup
aload 5
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.generateKey:()[B
invokespecial org.bouncycastle.crypto.params.KeyParameter.<init>:([B)V
putfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.encKey:Lorg/bouncycastle/crypto/params/KeyParameter;
6: aload 0
aload 1
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder.helper:Lorg/bouncycastle/cms/bc/EnvelopedDataHelper;
aload 2
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.encKey:Lorg/bouncycastle/crypto/params/KeyParameter;
aload 4
invokevirtual org.bouncycastle.cms.bc.EnvelopedDataHelper.generateEncryptionAlgID:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/crypto/params/KeyParameter;Ljava/security/SecureRandom;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
putfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
7: aload 0
iconst_1
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.encKey:Lorg/bouncycastle/crypto/params/KeyParameter;
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokestatic org.bouncycastle.cms.bc.EnvelopedDataHelper.createContentCipher:(ZLorg/bouncycastle/crypto/CipherParameters;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/lang/Object;
putfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.cipher:Ljava/lang/Object;
8: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder$CMSOutputEncryptor;
0 9 2 encryptionOID Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 9 3 keySize I
0 9 4 random Ljava/security/SecureRandom;
5 9 5 keyGen Lorg/bouncycastle/crypto/CipherKeyGenerator;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
this$0 final
encryptionOID
keySize
random
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier();
descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder$CMSOutputEncryptor;
public java.io.OutputStream getOutputStream(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.cipher:Ljava/lang/Object;
invokestatic org.bouncycastle.crypto.util.CipherFactory.createOutputStream:(Ljava/io/OutputStream;Ljava/lang/Object;)Lorg/bouncycastle/crypto/io/CipherOutputStream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder$CMSOutputEncryptor;
0 1 1 dOut Ljava/io/OutputStream;
MethodParameters:
Name Flags
dOut
public org.bouncycastle.operator.GenericKey getKey();
descriptor: ()Lorg/bouncycastle/operator/GenericKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.bouncycastle.operator.GenericKey
dup
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
getfield org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.encKey:Lorg/bouncycastle/crypto/params/KeyParameter;
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
invokespecial org.bouncycastle.operator.GenericKey.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/bc/BcCMSContentEncryptorBuilder$CMSOutputEncryptor;
}
SourceFile: "BcCMSContentEncryptorBuilder.java"
NestHost: org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder
InnerClasses:
private CMSOutputEncryptor = org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor of org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder