public class org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator extends org.bouncycastle.cms.CMSAuthenticatedGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator
super_class: org.bouncycastle.cms.CMSAuthenticatedGenerator
{
private int bufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean berEncodeRecipientSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.operator.MacCalculator macCalculator;
descriptor: Lorg/bouncycastle/operator/MacCalculator;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.cms.CMSAuthenticatedGenerator.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
public void setBufferSize(int);
descriptor: (I)V
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.cms.CMSAuthenticatedDataStreamGenerator.bufferSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 2 1 bufferSize I
MethodParameters:
Name Flags
bufferSize
public void setBEREncodeRecipients(boolean);
descriptor: (Z)V
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.cms.CMSAuthenticatedDataStreamGenerator.berEncodeRecipientSet:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 2 1 useBerEncodingForRecipients Z
MethodParameters:
Name Flags
useBerEncodingForRecipients
public java.io.OutputStream open(java.io.OutputStream, org.bouncycastle.operator.MacCalculator);
descriptor: (Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
aload 2
invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.open:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;)Ljava/io/OutputStream;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 1 1 out Ljava/io/OutputStream;
0 1 2 macCalculator Lorg/bouncycastle/operator/MacCalculator;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
out
macCalculator
public java.io.OutputStream open(java.io.OutputStream, org.bouncycastle.operator.MacCalculator, org.bouncycastle.operator.DigestCalculator);
descriptor: (Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;Lorg/bouncycastle/operator/DigestCalculator;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.data:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
aload 2
aload 3
invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.open:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;Lorg/bouncycastle/operator/DigestCalculator;)Ljava/io/OutputStream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 1 1 out Ljava/io/OutputStream;
0 1 2 macCalculator Lorg/bouncycastle/operator/MacCalculator;
0 1 3 digestCalculator Lorg/bouncycastle/operator/DigestCalculator;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
out
macCalculator
digestCalculator
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.io.OutputStream, org.bouncycastle.operator.MacCalculator);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aconst_null
invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.open:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;Lorg/bouncycastle/operator/DigestCalculator;)Ljava/io/OutputStream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 1 1 dataType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 1 2 out Ljava/io/OutputStream;
0 1 3 macCalculator Lorg/bouncycastle/operator/MacCalculator;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
dataType
out
macCalculator
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.io.OutputStream, org.bouncycastle.operator.MacCalculator, org.bouncycastle.operator.DigestCalculator);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/operator/MacCalculator;Lorg/bouncycastle/operator/DigestCalculator;)Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
putfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.macCalculator:Lorg/bouncycastle/operator/MacCalculator;
1: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 5
start local 5 2: aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.recipientInfoGenerators:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 3: goto 6
4: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cms.RecipientInfoGenerator
astore 7
start local 7 5: aload 5
aload 7
aload 3
invokeinterface org.bouncycastle.operator.MacCalculator.getKey:()Lorg/bouncycastle/operator/GenericKey;
invokeinterface org.bouncycastle.cms.RecipientInfoGenerator.generate:(Lorg/bouncycastle/operator/GenericKey;)Lorg/bouncycastle/asn1/cms/RecipientInfo;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
end local 7 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 6 7: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 2
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 8: aload 6
getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.authenticatedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
9: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 6
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
iconst_0
iconst_1
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;IZ)V
astore 7
start local 7 10: aload 7
new org.bouncycastle.asn1.ASN1Integer
dup
aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.originatorInfo:Lorg/bouncycastle/asn1/cms/OriginatorInfo;
invokestatic org.bouncycastle.asn1.cms.AuthenticatedData.calculateVersion:(Lorg/bouncycastle/asn1/cms/OriginatorInfo;)I
i2l
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(J)V
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
11: aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.originatorInfo:Lorg/bouncycastle/asn1/cms/OriginatorInfo;
ifnull 13
12: aload 7
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_0
aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.originatorInfo:Lorg/bouncycastle/asn1/cms/OriginatorInfo;
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
13: StackMap locals: org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator org.bouncycastle.asn1.ASN1ObjectIdentifier java.io.OutputStream org.bouncycastle.operator.MacCalculator org.bouncycastle.operator.DigestCalculator org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.BERSequenceGenerator
StackMap stack:
aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.berEncodeRecipientSet:Z
ifeq 16
14: aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.BERSet
dup
aload 5
invokespecial org.bouncycastle.asn1.BERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.BERSet.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERSet
dup
aload 5
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokevirtual org.bouncycastle.asn1.DERSet.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
17: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.bouncycastle.operator.MacCalculator.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 8
start local 8 18: aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
aload 8
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
19: aload 4
ifnull 21
20: aload 7
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_1
aload 4
invokeinterface org.bouncycastle.operator.DigestCalculator.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
21: StackMap locals: org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;)V
astore 9
start local 9 22: aload 9
aload 1
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
23: aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
iconst_0
iconst_0
aload 0
getfield org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator.bufferSize:I
24: invokestatic org.bouncycastle.cms.CMSUtils.createBEROctetOutputStream:(Ljava/io/OutputStream;IZI)Ljava/io/OutputStream;
astore 10
start local 10 25: aload 4
ifnull 28
26: new org.bouncycastle.util.io.TeeOutputStream
dup
aload 10
aload 4
invokeinterface org.bouncycastle.operator.DigestCalculator.getOutputStream:()Ljava/io/OutputStream;
invokespecial org.bouncycastle.util.io.TeeOutputStream.<init>:(Ljava/io/OutputStream;Ljava/io/OutputStream;)V
astore 11
start local 11 27: goto 29
end local 11 28: StackMap locals: org.bouncycastle.asn1.BERSequenceGenerator java.io.OutputStream
StackMap stack:
new org.bouncycastle.util.io.TeeOutputStream
dup
aload 10
aload 3
invokeinterface org.bouncycastle.operator.MacCalculator.getOutputStream:()Ljava/io/OutputStream;
invokespecial org.bouncycastle.util.io.TeeOutputStream.<init>:(Ljava/io/OutputStream;Ljava/io/OutputStream;)V
astore 11
start local 11 29: StackMap locals: java.io.OutputStream
StackMap stack:
new org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator$CmsAuthenticatedDataOutputStream
dup
aload 0
aload 3
aload 4
aload 1
aload 11
aload 6
aload 7
aload 9
invokespecial org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator$CmsAuthenticatedDataOutputStream.<init>:(Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;Lorg/bouncycastle/operator/MacCalculator;Lorg/bouncycastle/operator/DigestCalculator;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/OutputStream;Lorg/bouncycastle/asn1/BERSequenceGenerator;Lorg/bouncycastle/asn1/BERSequenceGenerator;Lorg/bouncycastle/asn1/BERSequenceGenerator;)V
30: areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 31: StackMap locals: org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator org.bouncycastle.asn1.ASN1ObjectIdentifier java.io.OutputStream org.bouncycastle.operator.MacCalculator org.bouncycastle.operator.DigestCalculator
StackMap stack: java.io.IOException
astore 5
start local 5 32: new org.bouncycastle.cms.CMSException
dup
ldc "exception decoding algorithm parameters."
aload 5
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
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 33 0 this Lorg/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator;
0 33 1 dataType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 33 2 out Ljava/io/OutputStream;
0 33 3 macCalculator Lorg/bouncycastle/operator/MacCalculator;
0 33 4 digestCalculator Lorg/bouncycastle/operator/DigestCalculator;
2 31 5 recipientInfos Lorg/bouncycastle/asn1/ASN1EncodableVector;
3 7 6 it Ljava/util/Iterator;
5 6 7 recipient Lorg/bouncycastle/cms/RecipientInfoGenerator;
8 31 6 cGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
10 31 7 authGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
18 31 8 macAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
22 31 9 eiGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
25 31 10 octetStream Ljava/io/OutputStream;
27 28 11 mOut Ljava/io/OutputStream;
29 31 11 mOut Ljava/io/OutputStream;
32 33 5 e Ljava/io/IOException;
Exception table:
from to target type
1 30 31 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
dataType
out
macCalculator
digestCalculator
}
SourceFile: "CMSAuthenticatedDataStreamGenerator.java"
NestMembers:
org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator$CmsAuthenticatedDataOutputStream
InnerClasses:
private CmsAuthenticatedDataOutputStream = org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator$CmsAuthenticatedDataOutputStream of org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator