public class org.bouncycastle.cms.CMSSignedDataParser extends org.bouncycastle.cms.CMSContentInfoParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cms.CMSSignedDataParser
super_class: org.bouncycastle.cms.CMSContentInfoParser
{
private static final org.bouncycastle.cms.CMSSignedHelper HELPER;
descriptor: Lorg/bouncycastle/cms/CMSSignedHelper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.bouncycastle.asn1.cms.SignedDataParser _signedData;
descriptor: Lorg/bouncycastle/asn1/cms/SignedDataParser;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.ASN1ObjectIdentifier _signedContentType;
descriptor: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.cms.CMSTypedStream _signedContent;
descriptor: Lorg/bouncycastle/cms/CMSTypedStream;
flags: (0x0002) ACC_PRIVATE
private java.util.Map digests;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<org.bouncycastle.asn1.x509.AlgorithmIdentifier> digestAlgorithms;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;>;
private org.bouncycastle.cms.SignerInformationStore _signerInfoStore;
descriptor: Lorg/bouncycastle/cms/SignerInformationStore;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.ASN1Set _certSet;
descriptor: Lorg/bouncycastle/asn1/ASN1Set;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.ASN1Set _crlSet;
descriptor: Lorg/bouncycastle/asn1/ASN1Set;
flags: (0x0002) ACC_PRIVATE
private boolean _isCertCrlParsed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.cms.CMSSignedHelper.INSTANCE:Lorg/bouncycastle/cms/CMSSignedHelper;
putstatic org.bouncycastle.cms.CMSSignedDataParser.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.bouncycastle.operator.DigestCalculatorProvider, byte[]);
descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial org.bouncycastle.cms.CMSSignedDataParser.<init>:(Lorg/bouncycastle/operator/DigestCalculatorProvider;Ljava/io/InputStream;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
0 2 1 digestCalculatorProvider Lorg/bouncycastle/operator/DigestCalculatorProvider;
0 2 2 sigBlock [B
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
digestCalculatorProvider
sigBlock
public void <init>(org.bouncycastle.operator.DigestCalculatorProvider, org.bouncycastle.cms.CMSTypedStream, byte[]);
descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;Lorg/bouncycastle/cms/CMSTypedStream;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
new java.io.ByteArrayInputStream
dup
aload 3
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial org.bouncycastle.cms.CMSSignedDataParser.<init>:(Lorg/bouncycastle/operator/DigestCalculatorProvider;Lorg/bouncycastle/cms/CMSTypedStream;Ljava/io/InputStream;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
0 2 1 digestCalculatorProvider Lorg/bouncycastle/operator/DigestCalculatorProvider;
0 2 2 signedContent Lorg/bouncycastle/cms/CMSTypedStream;
0 2 3 sigBlock [B
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
digestCalculatorProvider
signedContent
sigBlock
public void <init>(org.bouncycastle.operator.DigestCalculatorProvider, java.io.InputStream);
descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aload 2
invokespecial org.bouncycastle.cms.CMSSignedDataParser.<init>:(Lorg/bouncycastle/operator/DigestCalculatorProvider;Lorg/bouncycastle/cms/CMSTypedStream;Ljava/io/InputStream;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
0 2 1 digestCalculatorProvider Lorg/bouncycastle/operator/DigestCalculatorProvider;
0 2 2 sigData Ljava/io/InputStream;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
digestCalculatorProvider
sigData
public void <init>(org.bouncycastle.operator.DigestCalculatorProvider, org.bouncycastle.cms.CMSTypedStream, java.io.InputStream);
descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;Lorg/bouncycastle/cms/CMSTypedStream;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokespecial org.bouncycastle.cms.CMSContentInfoParser.<init>:(Ljava/io/InputStream;)V
1: aload 0
aload 2
putfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
2: aload 0
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfoParser;
bipush 16
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cms.SignedDataParser.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignedDataParser;
putfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.cms.CMSSignedDataParser.digests:Ljava/util/Map;
4: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1SetParser;
astore 4
start local 4 5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 6: goto 14
start local 5 7: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.cms.CMSTypedStream java.io.InputStream org.bouncycastle.asn1.ASN1SetParser org.bouncycastle.asn1.ASN1Encodable java.util.Set
StackMap stack:
aload 5
invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 7
start local 7 8: aload 6
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: aload 1
aload 7
invokeinterface org.bouncycastle.operator.DigestCalculatorProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/DigestCalculator;
astore 8
start local 8 10: aload 8
ifnull 14
11: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser.digests:Ljava/util/Map;
aload 7
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 12: goto 14
13: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.cms.CMSTypedStream java.io.InputStream org.bouncycastle.asn1.ASN1SetParser org.bouncycastle.asn1.ASN1Encodable java.util.Set org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack: org.bouncycastle.operator.OperatorCreationException
pop
end local 7 end local 5 14: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.cms.CMSTypedStream java.io.InputStream org.bouncycastle.asn1.ASN1SetParser top java.util.Set
StackMap stack:
aload 4
invokeinterface org.bouncycastle.asn1.ASN1SetParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
dup
astore 5
start local 5 15: ifnonnull 7
16: aload 0
aload 6
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putfield org.bouncycastle.cms.CMSSignedDataParser.digestAlgorithms:Ljava/util/Set;
17: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfoParser;
astore 7
start local 7 18: aload 7
iconst_4
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
astore 8
start local 8 19: aload 8
instanceof org.bouncycastle.asn1.ASN1OctetStringParser
ifeq 29
20: aload 8
checkcast org.bouncycastle.asn1.ASN1OctetStringParser
astore 9
start local 9 21: new org.bouncycastle.cms.CMSTypedStream
dup
22: aload 7
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 9
invokeinterface org.bouncycastle.asn1.ASN1OctetStringParser.getOctetStream:()Ljava/io/InputStream;
23: invokespecial org.bouncycastle.cms.CMSTypedStream.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/InputStream;)V
astore 10
start local 10 24: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
ifnonnull 27
25: aload 0
aload 10
putfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
26: goto 35
27: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.cms.CMSTypedStream java.io.InputStream org.bouncycastle.asn1.ASN1SetParser org.bouncycastle.asn1.ASN1Encodable java.util.Set org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.asn1.ASN1OctetStringParser org.bouncycastle.cms.CMSTypedStream
StackMap stack:
aload 10
invokevirtual org.bouncycastle.cms.CMSTypedStream.drain:()V
end local 10 end local 9 28: goto 35
29: StackMap locals:
StackMap stack:
aload 8
ifnull 35
30: new org.bouncycastle.cms.PKCS7TypedStream
dup
aload 7
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 8
invokespecial org.bouncycastle.cms.PKCS7TypedStream.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 9
start local 9 31: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
ifnonnull 34
32: aload 0
aload 9
putfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
33: goto 35
34: StackMap locals: org.bouncycastle.cms.PKCS7TypedStream
StackMap stack:
aload 9
invokevirtual org.bouncycastle.cms.PKCS7TypedStream.drain:()V
end local 9 35: StackMap locals:
StackMap stack:
aload 2
ifnonnull 38
36: aload 0
aload 7
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
putfield org.bouncycastle.cms.CMSSignedDataParser._signedContentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
37: goto 42
38: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
invokevirtual org.bouncycastle.cms.CMSTypedStream.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
putfield org.bouncycastle.cms.CMSSignedDataParser._signedContentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
end local 8 end local 7 end local 6 end local 5 end local 4 39: goto 42
40: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.cms.CMSTypedStream java.io.InputStream
StackMap stack: java.io.IOException
astore 4
start local 4 41: new org.bouncycastle.cms.CMSException
dup
new java.lang.StringBuilder
dup
ldc "io exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.io.IOException.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.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 4 42: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
0 43 1 digestCalculatorProvider Lorg/bouncycastle/operator/DigestCalculatorProvider;
0 43 2 signedContent Lorg/bouncycastle/cms/CMSTypedStream;
0 43 3 sigData Ljava/io/InputStream;
5 39 4 digAlgs Lorg/bouncycastle/asn1/ASN1SetParser;
7 14 5 o Lorg/bouncycastle/asn1/ASN1Encodable;
15 39 5 o Lorg/bouncycastle/asn1/ASN1Encodable;
6 39 6 algSet Ljava/util/Set<Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;>;
8 14 7 algId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
10 12 8 calculator Lorg/bouncycastle/operator/DigestCalculator;
18 39 7 cont Lorg/bouncycastle/asn1/cms/ContentInfoParser;
19 39 8 contentParser Lorg/bouncycastle/asn1/ASN1Encodable;
21 28 9 octs Lorg/bouncycastle/asn1/ASN1OctetStringParser;
24 28 10 ctStr Lorg/bouncycastle/cms/CMSTypedStream;
31 35 9 pkcs7Stream Lorg/bouncycastle/cms/PKCS7TypedStream;
41 42 4 e Ljava/io/IOException;
Exception table:
from to target type
9 12 13 Class org.bouncycastle.operator.OperatorCreationException
1 39 40 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
digestCalculatorProvider
signedContent
sigData
public int getVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getVersion:()Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
public java.util.Set<org.bouncycastle.asn1.x509.AlgorithmIdentifier> getDigestAlgorithmIDs();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser.digestAlgorithms:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
Signature: ()Ljava/util/Set<Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;>;
public org.bouncycastle.cms.SignerInformationStore getSignerInfos();
descriptor: ()Lorg/bouncycastle/cms/SignerInformationStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
ifnonnull 20
1: aload 0
invokevirtual org.bouncycastle.cms.CMSSignedDataParser.populateCertCrlSets:()V
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 4: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser.digests:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 5: goto 8
6: StackMap locals: java.util.List java.util.Map java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 7: aload 2
aload 4
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser.digests:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.operator.DigestCalculator
invokeinterface org.bouncycastle.operator.DigestCalculator.getDigest:()[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1SetParser;
astore 4
start local 4 10: goto 14
start local 5 11: StackMap locals: org.bouncycastle.asn1.ASN1SetParser org.bouncycastle.asn1.ASN1Encodable
StackMap stack:
aload 5
invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.cms.SignerInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignerInfo;
astore 6
start local 6 12: aload 2
aload 6
invokevirtual org.bouncycastle.asn1.cms.SignerInfo.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 7
start local 7 13: aload 1
new org.bouncycastle.cms.SignerInformation
dup
aload 6
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aconst_null
aload 7
invokespecial org.bouncycastle.cms.SignerInformation.<init>:(Lorg/bouncycastle/asn1/cms/SignerInfo;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/cms/CMSProcessable;[B)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.bouncycastle.asn1.ASN1SetParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
dup
astore 5
start local 5 15: ifnonnull 11
end local 5 end local 4 16: goto 19
17: StackMap locals: org.bouncycastle.cms.CMSSignedDataParser java.util.List java.util.Map java.util.Iterator
StackMap stack: java.io.IOException
astore 4
start local 4 18: new org.bouncycastle.cms.CMSException
dup
new java.lang.StringBuilder
dup
ldc "io exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.io.IOException.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.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 4 19: StackMap locals:
StackMap stack:
aload 0
new org.bouncycastle.cms.SignerInformationStore
dup
aload 1
invokespecial org.bouncycastle.cms.SignerInformationStore.<init>:(Ljava/util/Collection;)V
putfield org.bouncycastle.cms.CMSSignedDataParser._signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
end local 3 end local 2 end local 1 20: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
3 20 1 signerInfos Ljava/util/List;
4 20 2 hashes Ljava/util/Map;
5 20 3 it Ljava/util/Iterator;
7 8 4 digestKey Ljava/lang/Object;
10 16 4 s Lorg/bouncycastle/asn1/ASN1SetParser;
11 14 5 o Lorg/bouncycastle/asn1/ASN1Encodable;
15 16 5 o Lorg/bouncycastle/asn1/ASN1Encodable;
12 14 6 info Lorg/bouncycastle/asn1/cms/SignerInfo;
13 14 7 hash [B
18 19 4 e Ljava/io/IOException;
Exception table:
from to target type
9 16 17 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cms.CMSException
public org.bouncycastle.util.Store getCertificates();
descriptor: ()Lorg/bouncycastle/util/Store;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.cms.CMSSignedDataParser.populateCertCrlSets:()V
1: getstatic org.bouncycastle.cms.CMSSignedDataParser.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._certSet:Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.cms.CMSSignedHelper.getCertificates:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
Exceptions:
throws org.bouncycastle.cms.CMSException
public org.bouncycastle.util.Store getCRLs();
descriptor: ()Lorg/bouncycastle/util/Store;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.cms.CMSSignedDataParser.populateCertCrlSets:()V
1: getstatic org.bouncycastle.cms.CMSSignedDataParser.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._crlSet:Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.cms.CMSSignedHelper.getCRLs:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
Exceptions:
throws org.bouncycastle.cms.CMSException
public org.bouncycastle.util.Store getAttributeCertificates();
descriptor: ()Lorg/bouncycastle/util/Store;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.cms.CMSSignedDataParser.populateCertCrlSets:()V
1: getstatic org.bouncycastle.cms.CMSSignedDataParser.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._certSet:Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.cms.CMSSignedHelper.getAttributeCertificates:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
Exceptions:
throws org.bouncycastle.cms.CMSException
public org.bouncycastle.util.Store getOtherRevocationInfo(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/util/Store;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.cms.CMSSignedDataParser.populateCertCrlSets:()V
1: getstatic org.bouncycastle.cms.CMSSignedDataParser.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
aload 1
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._crlSet:Lorg/bouncycastle/asn1/ASN1Set;
invokevirtual org.bouncycastle.cms.CMSSignedHelper.getOtherRevocationInfo:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
0 2 1 otherRevocationInfoFormat Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
otherRevocationInfoFormat
private void populateCertCrlSets();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._isCertCrlParsed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.bouncycastle.cms.CMSSignedDataParser._isCertCrlParsed:Z
3: aload 0
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCertificates:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.getASN1Set:(Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
putfield org.bouncycastle.cms.CMSSignedDataParser._certSet:Lorg/bouncycastle/asn1/ASN1Set;
4: aload 0
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedData:Lorg/bouncycastle/asn1/cms/SignedDataParser;
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCrls:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.getASN1Set:(Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
putfield org.bouncycastle.cms.CMSSignedDataParser._crlSet:Lorg/bouncycastle/asn1/ASN1Set;
5: goto 8
6: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 7: new org.bouncycastle.cms.CMSException
dup
ldc "problem parsing cert/crl sets"
aload 1
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
7 8 1 e Ljava/io/IOException;
Exception table:
from to target type
3 5 6 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cms.CMSException
public java.lang.String getSignedContentTypeOID();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
public org.bouncycastle.cms.CMSTypedStream getSignedContent();
descriptor: ()Lorg/bouncycastle/cms/CMSTypedStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser.digests:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
invokevirtual org.bouncycastle.cms.CMSTypedStream.getContentStream:()Ljava/io/InputStream;
3: invokestatic org.bouncycastle.cms.CMSUtils.attachDigestsToInputStream:(Ljava/util/Collection;Ljava/io/InputStream;)Ljava/io/InputStream;
astore 1
start local 1 4: new org.bouncycastle.cms.CMSTypedStream
dup
aload 0
getfield org.bouncycastle.cms.CMSSignedDataParser._signedContent:Lorg/bouncycastle/cms/CMSTypedStream;
invokevirtual org.bouncycastle.cms.CMSTypedStream.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokespecial org.bouncycastle.cms.CMSTypedStream.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/io/InputStream;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/cms/CMSSignedDataParser;
4 5 1 digStream Ljava/io/InputStream;
public static java.io.OutputStream replaceSigners(java.io.InputStream, org.bouncycastle.cms.SignerInformationStore, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Lorg/bouncycastle/cms/SignerInformationStore;Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.asn1.ASN1StreamParser
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 1: new org.bouncycastle.asn1.cms.ContentInfoParser
dup
aload 3
invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1SequenceParser
invokespecial org.bouncycastle.asn1.cms.ContentInfoParser.<init>:(Lorg/bouncycastle/asn1/ASN1SequenceParser;)V
astore 4
start local 4 2: aload 4
bipush 16
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cms.SignedDataParser.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignedDataParser;
astore 5
start local 5 3: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 2
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 4: aload 6
getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.signedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
5: 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 6: aload 7
aload 5
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getVersion:()Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
7: aload 5
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
pop
8: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 8
start local 8 9: aload 1
invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
start local 9 10: goto 13
11: StackMap locals: java.io.InputStream org.bouncycastle.cms.SignerInformationStore java.io.OutputStream org.bouncycastle.asn1.ASN1StreamParser org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.cms.SignedDataParser org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cms.SignerInformation
astore 10
start local 10 12: aload 8
getstatic org.bouncycastle.cms.CMSSignedHelper.INSTANCE:Lorg/bouncycastle/cms/CMSSignedHelper;
aload 10
invokevirtual org.bouncycastle.cms.SignerInformation.getDigestAlgorithmID:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.cms.CMSSignedHelper.fixAlgID:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
end local 10 13: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 9 14: aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERSet
dup
aload 8
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
15: aload 5
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfoParser;
astore 9
start local 9 16: 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 10
start local 10 17: aload 10
aload 9
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
18: aload 9
aload 10
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.pipeEncapsulatedOctetString:(Lorg/bouncycastle/asn1/cms/ContentInfoParser;Ljava/io/OutputStream;)V
19: aload 10
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
20: aload 7
aload 5
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCertificates:()Lorg/bouncycastle/asn1/ASN1SetParser;
iconst_0
invokestatic org.bouncycastle.cms.CMSSignedDataParser.writeSetToGeneratorTagged:(Lorg/bouncycastle/asn1/ASN1Generator;Lorg/bouncycastle/asn1/ASN1SetParser;I)V
21: aload 7
aload 5
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCrls:()Lorg/bouncycastle/asn1/ASN1SetParser;
iconst_1
invokestatic org.bouncycastle.cms.CMSSignedDataParser.writeSetToGeneratorTagged:(Lorg/bouncycastle/asn1/ASN1Generator;Lorg/bouncycastle/asn1/ASN1SetParser;I)V
22: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 11
start local 11 23: aload 1
invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
start local 12 24: goto 27
25: StackMap locals: java.io.InputStream org.bouncycastle.cms.SignerInformationStore java.io.OutputStream org.bouncycastle.asn1.ASN1StreamParser org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.cms.SignedDataParser org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cms.SignerInformation
astore 13
start local 13 26: aload 11
aload 13
invokevirtual org.bouncycastle.cms.SignerInformation.toASN1Structure:()Lorg/bouncycastle/asn1/cms/SignerInfo;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
end local 13 27: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
end local 12 28: aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERSet
dup
aload 11
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
29: aload 7
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
30: aload 6
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
31: aload 2
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 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 32 0 original Ljava/io/InputStream;
0 32 1 signerInformationStore Lorg/bouncycastle/cms/SignerInformationStore;
0 32 2 out Ljava/io/OutputStream;
1 32 3 in Lorg/bouncycastle/asn1/ASN1StreamParser;
2 32 4 contentInfo Lorg/bouncycastle/asn1/cms/ContentInfoParser;
3 32 5 signedData Lorg/bouncycastle/asn1/cms/SignedDataParser;
4 32 6 sGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
6 32 7 sigGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
9 32 8 digestAlgs Lorg/bouncycastle/asn1/ASN1EncodableVector;
10 14 9 it Ljava/util/Iterator;
12 13 10 signer Lorg/bouncycastle/cms/SignerInformation;
16 32 9 encapContentInfo Lorg/bouncycastle/asn1/cms/ContentInfoParser;
17 32 10 eiGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
23 32 11 signerInfos Lorg/bouncycastle/asn1/ASN1EncodableVector;
24 28 12 it Ljava/util/Iterator;
26 27 13 signer Lorg/bouncycastle/cms/SignerInformation;
Exceptions:
throws org.bouncycastle.cms.CMSException, java.io.IOException
MethodParameters:
Name Flags
original
signerInformationStore
out
public static java.io.OutputStream replaceCertificatesAndCRLs(java.io.InputStream, org.bouncycastle.util.Store, org.bouncycastle.util.Store, org.bouncycastle.util.Store, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Lorg/bouncycastle/util/Store;Lorg/bouncycastle/util/Store;Lorg/bouncycastle/util/Store;Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.bouncycastle.asn1.ASN1StreamParser
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
astore 5
start local 5 1: new org.bouncycastle.asn1.cms.ContentInfoParser
dup
aload 5
invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1SequenceParser
invokespecial org.bouncycastle.asn1.cms.ContentInfoParser.<init>:(Lorg/bouncycastle/asn1/ASN1SequenceParser;)V
astore 6
start local 6 2: aload 6
bipush 16
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cms.SignedDataParser.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignedDataParser;
astore 7
start local 7 3: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 4
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;)V
astore 8
start local 8 4: aload 8
getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.signedData:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
5: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 8
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 9
start local 9 6: aload 9
aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getVersion:()Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
7: aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
8: aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfoParser;
astore 10
start local 10 9: new org.bouncycastle.asn1.BERSequenceGenerator
dup
aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
invokespecial org.bouncycastle.asn1.BERSequenceGenerator.<init>:(Ljava/io/OutputStream;)V
astore 11
start local 11 10: aload 11
aload 10
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.addObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
11: aload 10
aload 11
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.pipeEncapsulatedOctetString:(Lorg/bouncycastle/asn1/cms/ContentInfoParser;Ljava/io/OutputStream;)V
12: aload 11
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
13: aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCertificates:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.getASN1Set:(Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
pop
14: aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getCrls:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokestatic org.bouncycastle.cms.CMSSignedDataParser.getASN1Set:(Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
pop
15: aload 1
ifnonnull 16
aload 3
ifnull 24
16: StackMap locals: java.io.InputStream org.bouncycastle.util.Store org.bouncycastle.util.Store org.bouncycastle.util.Store java.io.OutputStream org.bouncycastle.asn1.ASN1StreamParser org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.cms.SignedDataParser org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.BERSequenceGenerator org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.asn1.BERSequenceGenerator
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 17: aload 1
ifnull 19
18: aload 12
aload 1
invokestatic org.bouncycastle.cms.CMSUtils.getCertificatesFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
19: StackMap locals: java.util.List
StackMap stack:
aload 3
ifnull 21
20: aload 12
aload 3
invokestatic org.bouncycastle.cms.CMSUtils.getAttributeCertificatesFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
21: StackMap locals:
StackMap stack:
aload 12
invokestatic org.bouncycastle.cms.CMSUtils.createBerSetFromList:(Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
astore 13
start local 13 22: aload 13
invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
ifle 24
23: aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_0
aload 13
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.DERTaggedObject.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
end local 13 end local 12 24: StackMap locals:
StackMap stack:
aload 2
ifnull 28
25: aload 2
invokestatic org.bouncycastle.cms.CMSUtils.getCRLsFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
invokestatic org.bouncycastle.cms.CMSUtils.createBerSetFromList:(Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
astore 12
start local 12 26: aload 12
invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
ifle 28
27: aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_1
aload 12
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.DERTaggedObject.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
end local 12 28: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.getRawOutputStream:()Ljava/io/OutputStream;
aload 7
invokevirtual org.bouncycastle.asn1.cms.SignedDataParser.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1SetParser;
invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
29: aload 9
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
30: aload 8
invokevirtual org.bouncycastle.asn1.BERSequenceGenerator.close:()V
31: aload 4
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 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 32 0 original Ljava/io/InputStream;
0 32 1 certs Lorg/bouncycastle/util/Store;
0 32 2 crls Lorg/bouncycastle/util/Store;
0 32 3 attrCerts Lorg/bouncycastle/util/Store;
0 32 4 out Ljava/io/OutputStream;
1 32 5 in Lorg/bouncycastle/asn1/ASN1StreamParser;
2 32 6 contentInfo Lorg/bouncycastle/asn1/cms/ContentInfoParser;
3 32 7 signedData Lorg/bouncycastle/asn1/cms/SignedDataParser;
4 32 8 sGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
6 32 9 sigGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
9 32 10 encapContentInfo Lorg/bouncycastle/asn1/cms/ContentInfoParser;
10 32 11 eiGen Lorg/bouncycastle/asn1/BERSequenceGenerator;
17 24 12 certificates Ljava/util/List;
22 24 13 asn1Certs Lorg/bouncycastle/asn1/ASN1Set;
26 28 12 asn1Crls Lorg/bouncycastle/asn1/ASN1Set;
Exceptions:
throws org.bouncycastle.cms.CMSException, java.io.IOException
MethodParameters:
Name Flags
original
certs
crls
attrCerts
out
private static void writeSetToGeneratorTagged(org.bouncycastle.asn1.ASN1Generator, org.bouncycastle.asn1.ASN1SetParser, int);
descriptor: (Lorg/bouncycastle/asn1/ASN1Generator;Lorg/bouncycastle/asn1/ASN1SetParser;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.bouncycastle.cms.CMSSignedDataParser.getASN1Set:(Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
astore 3
start local 3 1: aload 3
ifnull 6
2: aload 1
instanceof org.bouncycastle.asn1.BERSetParser
ifeq 5
3: aload 0
invokevirtual org.bouncycastle.asn1.ASN1Generator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.BERTaggedObject
dup
iconst_0
iload 2
aload 3
invokespecial org.bouncycastle.asn1.BERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.BERTaggedObject.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
4: goto 6
5: StackMap locals: org.bouncycastle.asn1.ASN1Set
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.ASN1Generator.getRawOutputStream:()Ljava/io/OutputStream;
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iload 2
aload 3
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.DERTaggedObject.getEncoded:()[B
invokevirtual java.io.OutputStream.write:([B)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 asn1Gen Lorg/bouncycastle/asn1/ASN1Generator;
0 7 1 asn1SetParser Lorg/bouncycastle/asn1/ASN1SetParser;
0 7 2 tagNo I
1 7 3 asn1Set Lorg/bouncycastle/asn1/ASN1Set;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
asn1Gen
asn1SetParser
tagNo
private static org.bouncycastle.asn1.ASN1Set getASN1Set(org.bouncycastle.asn1.ASN1SetParser);
descriptor: (Lorg/bouncycastle/asn1/ASN1SetParser;)Lorg/bouncycastle/asn1/ASN1Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.ASN1Set.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Set;
3: StackMap locals:
StackMap stack: org.bouncycastle.asn1.ASN1Set
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 asn1SetParser Lorg/bouncycastle/asn1/ASN1SetParser;
MethodParameters:
Name Flags
asn1SetParser
private static void pipeEncapsulatedOctetString(org.bouncycastle.asn1.cms.ContentInfoParser, java.io.OutputStream);
descriptor: (Lorg/bouncycastle/asn1/cms/ContentInfoParser;Ljava/io/OutputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_4
invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
1: checkcast org.bouncycastle.asn1.ASN1OctetStringParser
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
aload 1
invokestatic org.bouncycastle.cms.CMSSignedDataParser.pipeOctetString:(Lorg/bouncycastle/asn1/ASN1OctetStringParser;Ljava/io/OutputStream;)V
4: StackMap locals: org.bouncycastle.asn1.ASN1OctetStringParser
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 encapContentInfo Lorg/bouncycastle/asn1/cms/ContentInfoParser;
0 5 1 rawOutputStream Ljava/io/OutputStream;
2 5 2 octs Lorg/bouncycastle/asn1/ASN1OctetStringParser;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
encapContentInfo
rawOutputStream
private static void pipeOctetString(org.bouncycastle.asn1.ASN1OctetStringParser, java.io.OutputStream);
descriptor: (Lorg/bouncycastle/asn1/ASN1OctetStringParser;Ljava/io/OutputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
iconst_1
iconst_0
1: invokestatic org.bouncycastle.cms.CMSUtils.createBEROctetOutputStream:(Ljava/io/OutputStream;IZI)Ljava/io/OutputStream;
astore 2
start local 2 2: aload 0
invokeinterface org.bouncycastle.asn1.ASN1OctetStringParser.getOctetStream:()Ljava/io/InputStream;
aload 2
invokestatic org.bouncycastle.util.io.Streams.pipeAll:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
3: aload 2
invokevirtual java.io.OutputStream.close:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 octs Lorg/bouncycastle/asn1/ASN1OctetStringParser;
0 5 1 output Ljava/io/OutputStream;
2 5 2 outOctets Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
octs
output
}
SourceFile: "CMSSignedDataParser.java"