public class org.bouncycastle.asn1.x509.ExtensionsGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.x509.ExtensionsGenerator
super_class: java.lang.Object
{
private java.util.Hashtable extensions;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private java.util.Vector extOrdering;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
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.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
2: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
public void addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1Encodable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
ldc "DER"
invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:(Ljava/lang/String;)[B
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Z[B)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/asn1/x509/ExtensionsGenerator;
0 2 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 critical Z
0 2 3 value Lorg/bouncycastle/asn1/ASN1Encodable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
oid
critical
value
public void addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, byte[]);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Z[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "extension "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " already added"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
3: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
aload 1
new org.bouncycastle.asn1.x509.Extension
dup
aload 1
iload 2
new org.bouncycastle.asn1.DEROctetString
dup
aload 3
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.x509.Extension.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1OctetString;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
0 5 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 2 critical Z
0 5 3 value [B
MethodParameters:
Name Flags
oid
critical
value
public void addExtension(org.bouncycastle.asn1.x509.Extension);
descriptor: (Lorg/bouncycastle/asn1/x509/Extension;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
aload 1
invokevirtual org.bouncycastle.asn1.x509.Extension.getExtnId:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "extension "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.bouncycastle.asn1.x509.Extension.getExtnId:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " already added"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
aload 1
invokevirtual org.bouncycastle.asn1.x509.Extension.getExtnId:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
3: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
aload 1
invokevirtual org.bouncycastle.asn1.x509.Extension.getExtnId:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
0 5 1 extension Lorg/bouncycastle/asn1/x509/Extension;
MethodParameters:
Name Flags
extension
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
invokevirtual java.util.Vector.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
public org.bouncycastle.asn1.x509.Extensions generate();
descriptor: ()Lorg/bouncycastle/asn1/x509/Extensions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
anewarray org.bouncycastle.asn1.x509.Extension
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: org.bouncycastle.asn1.x509.Extension[] int
StackMap stack:
aload 1
iload 2
aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extensions:Ljava/util/Hashtable;
aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bouncycastle.asn1.x509.Extension
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield org.bouncycastle.asn1.x509.ExtensionsGenerator.extOrdering:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmpne 3
end local 2 6: new org.bouncycastle.asn1.x509.Extensions
dup
aload 1
invokespecial org.bouncycastle.asn1.x509.Extensions.<init>:([Lorg/bouncycastle/asn1/x509/Extension;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
1 7 1 exts [Lorg/bouncycastle/asn1/x509/Extension;
2 6 2 i I
}
SourceFile: "ExtensionsGenerator.java"