public class org.bouncycastle.cert.X509v3CertificateBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.X509v3CertificateBuilder
super_class: java.lang.Object
{
private org.bouncycastle.asn1.x509.V3TBSCertificateGenerator tbsGen;
descriptor: Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.ExtensionsGenerator extGenerator;
descriptor: Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.asn1.x500.X500Name, java.math.BigInteger, java.util.Date, java.util.Date, org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
new org.bouncycastle.asn1.x509.Time
dup
aload 3
invokespecial org.bouncycastle.asn1.x509.Time.<init>:(Ljava/util/Date;)V
new org.bouncycastle.asn1.x509.Time
dup
aload 4
invokespecial org.bouncycastle.asn1.x509.Time.<init>:(Ljava/util/Date;)V
aload 5
aload 6
invokespecial org.bouncycastle.cert.X509v3CertificateBuilder.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
1: return
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 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 issuer Lorg/bouncycastle/asn1/x500/X500Name;
0 2 2 serial Ljava/math/BigInteger;
0 2 3 notBefore Ljava/util/Date;
0 2 4 notAfter Ljava/util/Date;
0 2 5 subject Lorg/bouncycastle/asn1/x500/X500Name;
0 2 6 publicKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
MethodParameters:
Name Flags
issuer
serial
notBefore
notAfter
subject
publicKeyInfo
public void <init>(org.bouncycastle.asn1.x500.X500Name, java.math.BigInteger, java.util.Date, java.util.Date, java.util.Locale, org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Locale;Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
new org.bouncycastle.asn1.x509.Time
dup
aload 3
aload 5
invokespecial org.bouncycastle.asn1.x509.Time.<init>:(Ljava/util/Date;Ljava/util/Locale;)V
new org.bouncycastle.asn1.x509.Time
dup
aload 4
aload 5
invokespecial org.bouncycastle.asn1.x509.Time.<init>:(Ljava/util/Date;Ljava/util/Locale;)V
aload 6
aload 7
invokespecial org.bouncycastle.cert.X509v3CertificateBuilder.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
1: return
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 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 issuer Lorg/bouncycastle/asn1/x500/X500Name;
0 2 2 serial Ljava/math/BigInteger;
0 2 3 notBefore Ljava/util/Date;
0 2 4 notAfter Ljava/util/Date;
0 2 5 dateLocale Ljava/util/Locale;
0 2 6 subject Lorg/bouncycastle/asn1/x500/X500Name;
0 2 7 publicKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
MethodParameters:
Name Flags
issuer
serial
notBefore
notAfter
dateLocale
subject
publicKeyInfo
public void <init>(org.bouncycastle.asn1.x500.X500Name, java.math.BigInteger, org.bouncycastle.asn1.x509.Time, org.bouncycastle.asn1.x509.Time, org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x509/Time;Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.bouncycastle.asn1.x509.V3TBSCertificateGenerator
dup
invokespecial org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.<init>:()V
putfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
2: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
new org.bouncycastle.asn1.ASN1Integer
dup
aload 2
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSerialNumber:(Lorg/bouncycastle/asn1/ASN1Integer;)V
3: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 1
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setIssuer:(Lorg/bouncycastle/asn1/x500/X500Name;)V
4: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 3
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setStartDate:(Lorg/bouncycastle/asn1/x509/Time;)V
5: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 4
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setEndDate:(Lorg/bouncycastle/asn1/x509/Time;)V
6: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 5
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSubject:(Lorg/bouncycastle/asn1/x500/X500Name;)V
7: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 6
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSubjectPublicKeyInfo:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
8: aload 0
new org.bouncycastle.asn1.x509.ExtensionsGenerator
dup
invokespecial org.bouncycastle.asn1.x509.ExtensionsGenerator.<init>:()V
putfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
9: return
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 10 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 10 1 issuer Lorg/bouncycastle/asn1/x500/X500Name;
0 10 2 serial Ljava/math/BigInteger;
0 10 3 notBefore Lorg/bouncycastle/asn1/x509/Time;
0 10 4 notAfter Lorg/bouncycastle/asn1/x509/Time;
0 10 5 subject Lorg/bouncycastle/asn1/x500/X500Name;
0 10 6 publicKeyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
MethodParameters:
Name Flags
issuer
serial
notBefore
notAfter
subject
publicKeyInfo
public org.bouncycastle.cert.X509v3CertificateBuilder setSubjectUniqueID(boolean[]);
descriptor: ([Z)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 1
invokestatic org.bouncycastle.cert.CertUtils.booleanToBitString:([Z)Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSubjectUniqueID:(Lorg/bouncycastle/asn1/DERBitString;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 uniqueID [Z
MethodParameters:
Name Flags
uniqueID
public org.bouncycastle.cert.X509v3CertificateBuilder setIssuerUniqueID(boolean[]);
descriptor: ([Z)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 1
invokestatic org.bouncycastle.cert.CertUtils.booleanToBitString:([Z)Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setIssuerUniqueID:(Lorg/bouncycastle/asn1/DERBitString;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 uniqueID [Z
MethodParameters:
Name Flags
uniqueID
public org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1Encodable;)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
aload 1
iload 2
aload 3
invokestatic org.bouncycastle.cert.CertUtils.addExtension:(Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1Encodable;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 isCritical Z
0 2 3 value Lorg/bouncycastle/asn1/ASN1Encodable;
Exceptions:
throws org.bouncycastle.cert.CertIOException
MethodParameters:
Name Flags
oid
isCritical
value
public org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn1.x509.Extension);
descriptor: (Lorg/bouncycastle/asn1/x509/Extension;)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
aload 1
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension:(Lorg/bouncycastle/asn1/x509/Extension;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 extension Lorg/bouncycastle/asn1/x509/Extension;
Exceptions:
throws org.bouncycastle.cert.CertIOException
MethodParameters:
Name Flags
extension
public org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, byte[]);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Z[B)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
aload 1
iload 2
aload 3
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Z[B)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 2 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 2 2 isCritical Z
0 2 3 encodedValue [B
Exceptions:
throws org.bouncycastle.cert.CertIOException
MethodParameters:
Name Flags
oid
isCritical
encodedValue
public org.bouncycastle.cert.X509v3CertificateBuilder copyAndAddExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, org.bouncycastle.cert.X509CertificateHolder);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/cert/X509CertificateHolder;)Lorg/bouncycastle/cert/X509v3CertificateBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.bouncycastle.cert.X509CertificateHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/Certificate;
astore 4
start local 4 1: aload 4
invokevirtual org.bouncycastle.asn1.x509.Certificate.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificate;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificate.getExtensions:()Lorg/bouncycastle/asn1/x509/Extensions;
aload 1
invokevirtual org.bouncycastle.asn1.x509.Extensions.getExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/x509/Extension;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: new java.lang.NullPointerException
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 " not present"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.bouncycastle.asn1.x509.Certificate org.bouncycastle.asn1.x509.Extension
StackMap stack:
aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
aload 1
iload 2
aload 5
invokevirtual org.bouncycastle.asn1.x509.Extension.getExtnValue:()Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Z[B)V
5: aload 0
areturn
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 6 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 6 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 6 2 isCritical Z
0 6 3 certHolder Lorg/bouncycastle/cert/X509CertificateHolder;
1 6 4 cert Lorg/bouncycastle/asn1/x509/Certificate;
2 6 5 extension Lorg/bouncycastle/asn1/x509/Extension;
MethodParameters:
Name Flags
oid
isCritical
certHolder
public org.bouncycastle.cert.X509CertificateHolder build(org.bouncycastle.operator.ContentSigner);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;)Lorg/bouncycastle/cert/X509CertificateHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 1
invokeinterface org.bouncycastle.operator.ContentSigner.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSignature:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
1: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.isEmpty:()Z
ifne 3
2: aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.extGenerator:Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.generate:()Lorg/bouncycastle/asn1/x509/Extensions;
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setExtensions:(Lorg/bouncycastle/asn1/x509/Extensions;)V
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.bouncycastle.cert.X509v3CertificateBuilder.tbsGen:Lorg/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
invokevirtual org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.generateTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificate;
invokestatic org.bouncycastle.cert.CertUtils.generateFullCert:(Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/x509/TBSCertificate;)Lorg/bouncycastle/cert/X509CertificateHolder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/X509v3CertificateBuilder;
0 4 1 signer Lorg/bouncycastle/operator/ContentSigner;
MethodParameters:
Name Flags
signer
}
SourceFile: "X509v3CertificateBuilder.java"