public class org.bouncycastle.cms.DefaultSignedAttributeTableGenerator implements org.bouncycastle.cms.CMSAttributeTableGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cms.DefaultSignedAttributeTableGenerator
super_class: java.lang.Object
{
private final java.util.Hashtable table;
descriptor: Ljava/util/Hashtable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.table:Ljava/util/Hashtable;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cms/DefaultSignedAttributeTableGenerator;
public void <init>(org.bouncycastle.asn1.cms.AttributeTable);
descriptor: (Lorg/bouncycastle/asn1/cms/AttributeTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnull 4
2: aload 0
aload 1
invokevirtual org.bouncycastle.asn1.cms.AttributeTable.toHashtable:()Ljava/util/Hashtable;
putfield org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.table:Ljava/util/Hashtable;
3: goto 5
4: StackMap locals: org.bouncycastle.cms.DefaultSignedAttributeTableGenerator org.bouncycastle.asn1.cms.AttributeTable
StackMap stack:
aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.table:Ljava/util/Hashtable;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/cms/DefaultSignedAttributeTableGenerator;
0 6 1 attributeTable Lorg/bouncycastle/asn1/cms/AttributeTable;
MethodParameters:
Name Flags
attributeTable
protected java.util.Hashtable createStandardAttributeTable(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/util/Hashtable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.table:Ljava/util/Hashtable;
invokestatic org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.copyHashTable:(Ljava/util/Hashtable;)Ljava/util/Hashtable;
astore 2
start local 2 1: aload 2
getstatic org.bouncycastle.asn1.cms.CMSAttributes.contentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifne 9
2: aload 1
ldc "contentType"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
astore 3
start local 3 4: aload 3
ifnull 9
5: new org.bouncycastle.asn1.cms.Attribute
dup
getstatic org.bouncycastle.asn1.cms.CMSAttributes.contentType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
6: new org.bouncycastle.asn1.DERSet
dup
aload 3
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
7: invokespecial org.bouncycastle.asn1.cms.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 4
start local 4 8: aload 2
aload 4
invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 4
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 9: StackMap locals: java.util.Hashtable
StackMap stack:
aload 2
getstatic org.bouncycastle.asn1.cms.CMSAttributes.signingTime:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifne 15
10: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 3
start local 3 11: new org.bouncycastle.asn1.cms.Attribute
dup
getstatic org.bouncycastle.asn1.cms.CMSAttributes.signingTime:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
12: new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.cms.Time
dup
aload 3
invokespecial org.bouncycastle.asn1.cms.Time.<init>:(Ljava/util/Date;)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
13: invokespecial org.bouncycastle.asn1.cms.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 4
start local 4 14: aload 2
aload 4
invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 4
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
getstatic org.bouncycastle.asn1.cms.CMSAttributes.messageDigest:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifne 23
16: aload 1
17: ldc "digest"
18: invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 3
start local 3 19: new org.bouncycastle.asn1.cms.Attribute
dup
getstatic org.bouncycastle.asn1.cms.CMSAttributes.messageDigest:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
20: new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.DEROctetString
dup
aload 3
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
21: invokespecial org.bouncycastle.asn1.cms.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 4
start local 4 22: aload 2
aload 4
invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 4
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 23: StackMap locals:
StackMap stack:
aload 2
getstatic org.bouncycastle.asn1.cms.CMSAttributes.cmsAlgorithmProtect:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.contains:(Ljava/lang/Object;)Z
ifne 29
24: new org.bouncycastle.asn1.cms.Attribute
dup
getstatic org.bouncycastle.asn1.cms.CMSAttributes.cmsAlgorithmProtect:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DERSet
dup
new org.bouncycastle.asn1.cms.CMSAlgorithmProtection
dup
25: aload 1
ldc "digestAlgID"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.x509.AlgorithmIdentifier
26: iconst_1
aload 1
ldc "signatureAlgID"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.x509.AlgorithmIdentifier
invokespecial org.bouncycastle.asn1.cms.CMSAlgorithmProtection.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;ILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
27: invokespecial org.bouncycastle.asn1.cms.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 3
start local 3 28: aload 2
aload 3
invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 29: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/bouncycastle/cms/DefaultSignedAttributeTableGenerator;
0 30 1 parameters Ljava/util/Map;
1 30 2 std Ljava/util/Hashtable;
4 9 3 contentType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
8 9 4 attr Lorg/bouncycastle/asn1/cms/Attribute;
11 15 3 signingTime Ljava/util/Date;
14 15 4 attr Lorg/bouncycastle/asn1/cms/Attribute;
19 23 3 messageDigest [B
22 23 4 attr Lorg/bouncycastle/asn1/cms/Attribute;
28 29 3 attr Lorg/bouncycastle/asn1/cms/Attribute;
MethodParameters:
Name Flags
parameters
public org.bouncycastle.asn1.cms.AttributeTable getAttributes(java.util.Map);
descriptor: (Ljava/util/Map;)Lorg/bouncycastle/asn1/cms/AttributeTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.cms.AttributeTable
dup
aload 0
aload 1
invokevirtual org.bouncycastle.cms.DefaultSignedAttributeTableGenerator.createStandardAttributeTable:(Ljava/util/Map;)Ljava/util/Hashtable;
invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Ljava/util/Hashtable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cms/DefaultSignedAttributeTableGenerator;
0 1 1 parameters Ljava/util/Map;
MethodParameters:
Name Flags
parameters
private static java.util.Hashtable copyHashTable(java.util.Hashtable);
descriptor: (Ljava/util/Hashtable;)Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.Hashtable java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
astore 3
start local 3 4: aload 1
aload 3
aload 0
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
6: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 paramsMap Ljava/util/Hashtable;
1 7 1 newTable Ljava/util/Hashtable;
2 7 2 keys Ljava/util/Enumeration;
4 5 3 key Ljava/lang/Object;
MethodParameters:
Name Flags
paramsMap
}
SourceFile: "DefaultSignedAttributeTableGenerator.java"