public class org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder
super_class: java.lang.Object
{
private org.bouncycastle.asn1.x509.SubjectPublicKeyInfo publicKeyInfo;
descriptor: Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x500.X500Name subject;
descriptor: Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0002) ACC_PRIVATE
private java.util.List attributes;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
private boolean leaveOffEmpty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder);
descriptor: (Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
2: aload 0
iconst_0
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
3: aload 0
aload 1
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
4: aload 0
aload 1
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
5: aload 0
aload 1
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
6: aload 0
new java.util.ArrayList
dup
aload 1
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 8 1 original Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
MethodParameters:
Name Flags
original
public void <init>(org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
2: aload 0
iconst_0
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
3: aload 0
aload 1
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
4: aload 0
aload 2
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 6 1 subject Lorg/bouncycastle/asn1/x500/X500Name;
0 6 2 publicKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
MethodParameters:
Name Flags
subject
publicKeyInfo
public org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder setAttribute(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
start local 3 1: goto 4
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.pkcs.Attribute
invokevirtual org.bouncycastle.asn1.pkcs.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attribute "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is already set"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 3 5: aload 0
aload 1
aload 2
invokevirtual org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.addAttribute:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
pop
6: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 7 1 attrType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 7 2 attrValue Lorg/bouncycastle/asn1/ASN1Encodable;
1 5 3 it Ljava/util/Iterator;
MethodParameters:
Name Flags
attrType
attrValue
public org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder setAttribute(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1Encodable[]);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
start local 3 1: goto 4
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.pkcs.Attribute
invokevirtual org.bouncycastle.asn1.pkcs.Attribute.getAttrType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attribute "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is already set"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 3 5: aload 0
aload 1
aload 2
invokevirtual org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.addAttribute:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
pop
6: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 7 1 attrType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 7 2 attrValue [Lorg/bouncycastle/asn1/ASN1Encodable;
1 5 3 it Ljava/util/Iterator;
MethodParameters:
Name Flags
attrType
attrValue
public org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder addAttribute(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
new org.bouncycastle.asn1.pkcs.Attribute
dup
aload 1
new org.bouncycastle.asn1.DERSet
dup
aload 2
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
invokespecial org.bouncycastle.asn1.pkcs.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 2 1 attrType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 attrValue Lorg/bouncycastle/asn1/ASN1Encodable;
MethodParameters:
Name Flags
attrType
attrValue
public org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder addAttribute(org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1Encodable[]);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[Lorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
new org.bouncycastle.asn1.pkcs.Attribute
dup
aload 1
new org.bouncycastle.asn1.DERSet
dup
aload 2
invokespecial org.bouncycastle.asn1.DERSet.<init>:([Lorg/bouncycastle/asn1/ASN1Encodable;)V
invokespecial org.bouncycastle.asn1.pkcs.Attribute.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 2 1 attrType Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 attrValues [Lorg/bouncycastle/asn1/ASN1Encodable;
MethodParameters:
Name Flags
attrType
attrValues
public org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder setLeaveOffEmptyAttributes(boolean);
descriptor: (Z)Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 2 1 leaveOffEmpty Z
MethodParameters:
Name Flags
leaveOffEmpty
public org.bouncycastle.pkcs.PKCS10CertificationRequest build(org.bouncycastle.operator.ContentSigner);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;)Lorg/bouncycastle/pkcs/PKCS10CertificationRequest;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
1: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.leaveOffEmpty:Z
ifeq 4
2: new org.bouncycastle.asn1.pkcs.CertificationRequestInfo
dup
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
aconst_null
invokespecial org.bouncycastle.asn1.pkcs.CertificationRequestInfo.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 2
start local 2 3: goto 12
end local 2 4: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.pkcs.CertificationRequestInfo
dup
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
new org.bouncycastle.asn1.DERSet
dup
invokespecial org.bouncycastle.asn1.DERSet.<init>:()V
invokespecial org.bouncycastle.asn1.pkcs.CertificationRequestInfo.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 2
start local 2 5: goto 12
end local 2 6: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 3
start local 3 7: aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.attributes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: goto 10
9: StackMap locals: org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder org.bouncycastle.operator.ContentSigner top org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
StackMap stack:
aload 3
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.bouncycastle.asn1.pkcs.Attribute.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/Attribute;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 4 11: new org.bouncycastle.asn1.pkcs.CertificationRequestInfo
dup
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.subject:Lorg/bouncycastle/asn1/x500/X500Name;
aload 0
getfield org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder.publicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
new org.bouncycastle.asn1.DERSet
dup
aload 3
invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokespecial org.bouncycastle.asn1.pkcs.CertificationRequestInfo.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;Lorg/bouncycastle/asn1/ASN1Set;)V
astore 2
end local 3 start local 2 12: StackMap locals: org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder org.bouncycastle.operator.ContentSigner org.bouncycastle.asn1.pkcs.CertificationRequestInfo
StackMap stack:
aload 1
invokeinterface org.bouncycastle.operator.ContentSigner.getOutputStream:()Ljava/io/OutputStream;
astore 3
start local 3 13: aload 3
aload 2
ldc "DER"
invokevirtual org.bouncycastle.asn1.pkcs.CertificationRequestInfo.getEncoded:(Ljava/lang/String;)[B
invokevirtual java.io.OutputStream.write:([B)V
14: aload 3
invokevirtual java.io.OutputStream.close:()V
15: new org.bouncycastle.pkcs.PKCS10CertificationRequest
dup
new org.bouncycastle.asn1.pkcs.CertificationRequest
dup
aload 2
aload 1
invokeinterface org.bouncycastle.operator.ContentSigner.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
new org.bouncycastle.asn1.DERBitString
dup
aload 1
invokeinterface org.bouncycastle.operator.ContentSigner.getSignature:()[B
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
invokespecial org.bouncycastle.asn1.pkcs.CertificationRequest.<init>:(Lorg/bouncycastle/asn1/pkcs/CertificationRequestInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/DERBitString;)V
invokespecial org.bouncycastle.pkcs.PKCS10CertificationRequest.<init>:(Lorg/bouncycastle/asn1/pkcs/CertificationRequest;)V
16: areturn
end local 3 17: StackMap locals:
StackMap stack: java.io.IOException
pop
18: new java.lang.IllegalStateException
dup
ldc "cannot produce certification request signature"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/pkcs/PKCS10CertificationRequestBuilder;
0 19 1 signer Lorg/bouncycastle/operator/ContentSigner;
3 4 2 info Lorg/bouncycastle/asn1/pkcs/CertificationRequestInfo;
5 6 2 info Lorg/bouncycastle/asn1/pkcs/CertificationRequestInfo;
12 19 2 info Lorg/bouncycastle/asn1/pkcs/CertificationRequestInfo;
7 12 3 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
8 11 4 it Ljava/util/Iterator;
13 17 3 sOut Ljava/io/OutputStream;
Exception table:
from to target type
12 16 17 Class java.io.IOException
MethodParameters:
Name Flags
signer
}
SourceFile: "PKCS10CertificationRequestBuilder.java"