class org.bouncycastle.cms.CMSUtils
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.cms.CMSUtils
super_class: java.lang.Object
{
private static final java.util.Set<java.lang.String> des;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set mqvAlgs;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set ecAlgs;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set gostAlgs;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.bouncycastle.cms.CMSUtils.gostAlgs:Ljava/util/Set;
4: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
ldc "DES"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
ldc "DESEDE"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.desCBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_CMS3DESwrap:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.mqvSinglePass_sha1kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.mqvSinglePass_sha224kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.mqvSinglePass_sha256kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.mqvSinglePass_sha384kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.mqvSinglePass_sha512kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.dhSinglePass_cofactorDH_sha1kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.dhSinglePass_stdDH_sha1kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_cofactorDH_sha224kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
18: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_stdDH_sha224kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
19: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_cofactorDH_sha256kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
20: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_stdDH_sha256kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_cofactorDH_sha384kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_stdDH_sha384kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_cofactorDH_sha512kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
24: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.sec.SECObjectIdentifiers.dhSinglePass_stdDH_sha512kdf_scheme:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: getstatic org.bouncycastle.cms.CMSUtils.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_2001_CryptoPro_ESDH:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
26: getstatic org.bouncycastle.cms.CMSUtils.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_agreement_gost_3410_12_256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
27: getstatic org.bouncycastle.cms.CMSUtils.gostAlgs:Ljava/util/Set;
getstatic org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers.id_tc26_agreement_gost_3410_12_512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/CMSUtils;
static boolean isMQV(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.cms.CMSUtils.mqvAlgs:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
static boolean isEC(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.cms.CMSUtils.ecAlgs:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
static boolean isGOST(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.cms.CMSUtils.gostAlgs:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
static boolean isRFC2631(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_ESDH:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_SSDH:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
algorithm
static boolean isDES(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.util.Strings.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: getstatic org.bouncycastle.cms.CMSUtils.des:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 algorithmID Ljava/lang/String;
1 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
algorithmID
static boolean isEquivalent(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
astore 2
start local 2 5: aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
astore 3
start local 3 6: aload 2
ifnull 10
7: aload 2
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
aload 2
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 3
ifnull 9
StackMap locals: org.bouncycastle.asn1.ASN1Encodable org.bouncycastle.asn1.ASN1Encodable
StackMap stack:
8: iconst_0
ireturn
StackMap locals:
StackMap stack:
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 3
ifnull 11
aload 3
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
iconst_0
ireturn
StackMap locals:
StackMap stack:
11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 algId1 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 12 1 algId2 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
5 12 2 params1 Lorg/bouncycastle/asn1/ASN1Encodable;
6 12 3 params2 Lorg/bouncycastle/asn1/ASN1Encodable;
MethodParameters:
Name Flags
algId1
algId2
static org.bouncycastle.asn1.cms.ContentInfo readContentInfo(byte[]);
descriptor: ([B)Lorg/bouncycastle/asn1/cms/ContentInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:(Lorg/bouncycastle/asn1/ASN1InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input [B
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
input
static org.bouncycastle.asn1.cms.ContentInfo readContentInfo(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 0
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:(Lorg/bouncycastle/asn1/ASN1InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input Ljava/io/InputStream;
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
input
static java.util.List getCertificatesFromStore(org.bouncycastle.util.Store);
descriptor: (Lorg/bouncycastle/util/Store;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
aconst_null
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cert.X509CertificateHolder
astore 3
start local 3 4: aload 1
aload 3
invokevirtual org.bouncycastle.cert.X509CertificateHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/Certificate;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 6: aload 1
7: areturn
8: StackMap locals: org.bouncycastle.util.Store java.util.List
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 9: new org.bouncycastle.cms.CMSException
dup
ldc "error processing certs"
aload 2
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 certStore Lorg/bouncycastle/util/Store;
1 10 1 certs Ljava/util/List;
2 6 2 it Ljava/util/Iterator;
4 5 3 c Lorg/bouncycastle/cert/X509CertificateHolder;
9 10 2 e Ljava/lang/ClassCastException;
Exception table:
from to target type
1 7 8 Class java.lang.ClassCastException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
certStore
static java.util.List getAttributeCertificatesFromStore(org.bouncycastle.util.Store);
descriptor: (Lorg/bouncycastle/util/Store;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
aconst_null
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cert.X509AttributeCertificateHolder
astore 3
start local 3 4: aload 1
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_2
aload 3
invokevirtual org.bouncycastle.cert.X509AttributeCertificateHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/AttributeCertificate;
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 6: aload 1
7: areturn
8: StackMap locals: org.bouncycastle.util.Store java.util.List
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 9: new org.bouncycastle.cms.CMSException
dup
ldc "error processing certs"
aload 2
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 attrStore Lorg/bouncycastle/util/Store;
1 10 1 certs Ljava/util/List;
2 6 2 it Ljava/util/Iterator;
4 5 3 attrCert Lorg/bouncycastle/cert/X509AttributeCertificateHolder;
9 10 2 e Ljava/lang/ClassCastException;
Exception table:
from to target type
1 7 8 Class java.lang.ClassCastException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
attrStore
static java.util.List getCRLsFromStore(org.bouncycastle.util.Store);
descriptor: (Lorg/bouncycastle/util/Store;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
aconst_null
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 15
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: aload 3
instanceof org.bouncycastle.cert.X509CRLHolder
ifeq 8
5: aload 3
checkcast org.bouncycastle.cert.X509CRLHolder
astore 4
start local 4 6: aload 1
aload 4
invokevirtual org.bouncycastle.cert.X509CRLHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/CertificateList;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 7: goto 15
8: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof org.bouncycastle.asn1.cms.OtherRevocationInfoFormat
ifeq 13
9: aload 3
invokestatic org.bouncycastle.asn1.cms.OtherRevocationInfoFormat.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;
astore 4
start local 4 10: aload 4
invokestatic org.bouncycastle.cms.CMSUtils.validateInfoFormat:(Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;)V
11: aload 1
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_1
aload 4
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 12: goto 15
13: StackMap locals:
StackMap stack:
aload 3
instanceof org.bouncycastle.asn1.ASN1TaggedObject
ifeq 15
14: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 16: aload 1
17: areturn
18: StackMap locals: org.bouncycastle.util.Store java.util.List
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 19: new org.bouncycastle.cms.CMSException
dup
ldc "error processing certs"
aload 2
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 crlStore Lorg/bouncycastle/util/Store;
1 20 1 crls Ljava/util/List;
2 16 2 it Ljava/util/Iterator;
4 15 3 rev Ljava/lang/Object;
6 7 4 c Lorg/bouncycastle/cert/X509CRLHolder;
10 12 4 infoFormat Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;
19 20 2 e Ljava/lang/ClassCastException;
Exception table:
from to target type
1 17 18 Class java.lang.ClassCastException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
crlStore
private static void validateInfoFormat(org.bouncycastle.asn1.cms.OtherRevocationInfoFormat);
descriptor: (Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.bouncycastle.asn1.cms.CMSObjectIdentifiers.id_ri_ocsp_response:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.cms.OtherRevocationInfoFormat.getInfoFormat:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 4
1: aload 0
invokevirtual org.bouncycastle.asn1.cms.OtherRevocationInfoFormat.getInfo:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ocsp.OCSPResponse.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ocsp/OCSPResponse;
astore 1
start local 1 2: aload 1
invokevirtual org.bouncycastle.asn1.ocsp.OCSPResponse.getResponseStatus:()Lorg/bouncycastle/asn1/ocsp/OCSPResponseStatus;
invokevirtual org.bouncycastle.asn1.ocsp.OCSPResponseStatus.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "cannot add unsuccessful OCSP response to CMS SignedData"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 infoFormat Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;
2 4 1 resp Lorg/bouncycastle/asn1/ocsp/OCSPResponse;
MethodParameters:
Name Flags
infoFormat
static java.util.Collection getOthersFromStore(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.util.Store);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/util/Store;)Ljava/util/Collection;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
aconst_null
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 7
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Encodable
astore 4
start local 4 4: new org.bouncycastle.asn1.cms.OtherRevocationInfoFormat
dup
aload 0
aload 4
invokespecial org.bouncycastle.asn1.cms.OtherRevocationInfoFormat.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
astore 5
start local 5 5: aload 5
invokestatic org.bouncycastle.cms.CMSUtils.validateInfoFormat:(Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;)V
6: aload 2
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_0
iconst_1
aload 5
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 otherRevocationInfoFormat Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 9 1 otherRevocationInfos Lorg/bouncycastle/util/Store;
1 9 2 others Ljava/util/List;
2 8 3 it Ljava/util/Iterator;
4 7 4 info Lorg/bouncycastle/asn1/ASN1Encodable;
5 7 5 infoFormat Lorg/bouncycastle/asn1/cms/OtherRevocationInfoFormat;
MethodParameters:
Name Flags
otherRevocationInfoFormat
otherRevocationInfos
static org.bouncycastle.asn1.ASN1Set createBerSetFromList(java.util.List);
descriptor: (Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 4
3: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Encodable
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 5: new org.bouncycastle.asn1.BERSet
dup
aload 1
invokespecial org.bouncycastle.asn1.BERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 derObjects Ljava/util/List;
1 6 1 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
2 5 2 it Ljava/util/Iterator;
MethodParameters:
Name Flags
derObjects
static org.bouncycastle.asn1.ASN1Set createDerSetFromList(java.util.List);
descriptor: (Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 4
3: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.ASN1Encodable
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 5: new org.bouncycastle.asn1.DERSet
dup
aload 1
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 derObjects Ljava/util/List;
1 6 1 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
2 5 2 it Ljava/util/Iterator;
MethodParameters:
Name Flags
derObjects
static java.io.OutputStream createBEROctetOutputStream(java.io.OutputStream, int, boolean, int);
descriptor: (Ljava/io/OutputStream;IZI)Ljava/io/OutputStream;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.bouncycastle.asn1.BEROctetStringGenerator
dup
aload 0
iload 1
iload 2
invokespecial org.bouncycastle.asn1.BEROctetStringGenerator.<init>:(Ljava/io/OutputStream;IZ)V
astore 4
start local 4 1: iload 3
ifeq 3
2: aload 4
iload 3
newarray 8
invokevirtual org.bouncycastle.asn1.BEROctetStringGenerator.getOctetOutputStream:([B)Ljava/io/OutputStream;
areturn
3: StackMap locals: org.bouncycastle.asn1.BEROctetStringGenerator
StackMap stack:
aload 4
invokevirtual org.bouncycastle.asn1.BEROctetStringGenerator.getOctetOutputStream:()Ljava/io/OutputStream;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/io/OutputStream;
0 4 1 tagNo I
0 4 2 isExplicit Z
0 4 3 bufferSize I
1 4 4 octGen Lorg/bouncycastle/asn1/BEROctetStringGenerator;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
tagNo
isExplicit
bufferSize
private static org.bouncycastle.asn1.cms.ContentInfo readContentInfo(org.bouncycastle.asn1.ASN1InputStream);
descriptor: (Lorg/bouncycastle/asn1/ASN1InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.cms.ContentInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/ContentInfo;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new org.bouncycastle.cms.CMSException
dup
ldc "No content found."
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.asn1.cms.ContentInfo
StackMap stack:
aload 1
4: areturn
end local 1 5: StackMap locals: org.bouncycastle.asn1.ASN1InputStream
StackMap stack: java.io.IOException
astore 1
start local 1 6: new org.bouncycastle.cms.CMSException
dup
ldc "IOException reading content."
aload 1
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 1 7: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 1
start local 1 8: new org.bouncycastle.cms.CMSException
dup
ldc "Malformed content."
aload 1
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 1 9: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 1
start local 1 10: new org.bouncycastle.cms.CMSException
dup
ldc "Malformed content."
aload 1
invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 in Lorg/bouncycastle/asn1/ASN1InputStream;
1 5 1 info Lorg/bouncycastle/asn1/cms/ContentInfo;
6 7 1 e Ljava/io/IOException;
8 9 1 e Ljava/lang/ClassCastException;
10 11 1 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 4 5 Class java.io.IOException
0 4 7 Class java.lang.ClassCastException
0 4 9 Class java.lang.IllegalArgumentException
Exceptions:
throws org.bouncycastle.cms.CMSException
MethodParameters:
Name Flags
in
public static byte[] streamToByteArray(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.util.io.Streams.readAll:(Ljava/io/InputStream;)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public static byte[] streamToByteArray(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic org.bouncycastle.util.io.Streams.readAllLimited:(Ljava/io/InputStream;I)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/InputStream;
0 1 1 limit I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
limit
static java.io.InputStream attachDigestsToInputStream(java.util.Collection, java.io.InputStream);
descriptor: (Ljava/util/Collection;Ljava/io/InputStream;)Ljava/io/InputStream;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 5
3: StackMap locals: java.io.InputStream java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.operator.DigestCalculator
astore 4
start local 4 4: new org.bouncycastle.util.io.TeeInputStream
dup
aload 2
aload 4
invokeinterface org.bouncycastle.operator.DigestCalculator.getOutputStream:()Ljava/io/OutputStream;
invokespecial org.bouncycastle.util.io.TeeInputStream.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 2
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 digests Ljava/util/Collection;
0 7 1 s Ljava/io/InputStream;
1 7 2 result Ljava/io/InputStream;
2 7 3 it Ljava/util/Iterator;
4 5 4 digest Lorg/bouncycastle/operator/DigestCalculator;
MethodParameters:
Name Flags
digests
s
static java.io.OutputStream attachSignersToOutputStream(java.util.Collection, java.io.OutputStream);
descriptor: (Ljava/util/Collection;Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 5
3: StackMap locals: java.io.OutputStream java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cms.SignerInfoGenerator
astore 4
start local 4 4: aload 2
aload 4
invokevirtual org.bouncycastle.cms.SignerInfoGenerator.getCalculatingOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cms.CMSUtils.getSafeTeeOutputStream:(Ljava/io/OutputStream;Ljava/io/OutputStream;)Ljava/io/OutputStream;
astore 2
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 signers Ljava/util/Collection;
0 7 1 s Ljava/io/OutputStream;
1 7 2 result Ljava/io/OutputStream;
2 7 3 it Ljava/util/Iterator;
4 5 4 signerGen Lorg/bouncycastle/cms/SignerInfoGenerator;
MethodParameters:
Name Flags
signers
s
static java.io.OutputStream getSafeOutputStream(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
new org.bouncycastle.cms.NullOutputStream
dup
invokespecial org.bouncycastle.cms.NullOutputStream.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: java.io.OutputStream
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s Ljava/io/OutputStream;
MethodParameters:
Name Flags
s
static java.io.OutputStream getSafeTeeOutputStream(java.io.OutputStream, java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
aload 1
invokestatic org.bouncycastle.cms.CMSUtils.getSafeOutputStream:(Ljava/io/OutputStream;)Ljava/io/OutputStream;
goto 4
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
aload 0
invokestatic org.bouncycastle.cms.CMSUtils.getSafeOutputStream:(Ljava/io/OutputStream;)Ljava/io/OutputStream;
goto 4
StackMap locals:
StackMap stack:
2: new org.bouncycastle.util.io.TeeOutputStream
dup
3: aload 0
aload 1
invokespecial org.bouncycastle.util.io.TeeOutputStream.<init>:(Ljava/io/OutputStream;Ljava/io/OutputStream;)V
4: StackMap locals:
StackMap stack: java.io.OutputStream
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 s1 Ljava/io/OutputStream;
0 5 1 s2 Ljava/io/OutputStream;
MethodParameters:
Name Flags
s1
s2
}
SourceFile: "CMSUtils.java"