public class org.bouncycastle.asn1.x509.TBSCertificate extends org.bouncycastle.asn1.ASN1Object
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.x509.TBSCertificate
super_class: org.bouncycastle.asn1.ASN1Object
{
org.bouncycastle.asn1.ASN1Sequence seq;
descriptor: Lorg/bouncycastle/asn1/ASN1Sequence;
flags: (0x0000)
org.bouncycastle.asn1.ASN1Integer version;
descriptor: Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0000)
org.bouncycastle.asn1.ASN1Integer serialNumber;
descriptor: Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0000)
org.bouncycastle.asn1.x509.AlgorithmIdentifier signature;
descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0000)
org.bouncycastle.asn1.x500.X500Name issuer;
descriptor: Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0000)
org.bouncycastle.asn1.x509.Time startDate;
descriptor: Lorg/bouncycastle/asn1/x509/Time;
flags: (0x0000)
org.bouncycastle.asn1.x509.Time endDate;
descriptor: Lorg/bouncycastle/asn1/x509/Time;
flags: (0x0000)
org.bouncycastle.asn1.x500.X500Name subject;
descriptor: Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0000)
org.bouncycastle.asn1.x509.SubjectPublicKeyInfo subjectPublicKeyInfo;
descriptor: Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
flags: (0x0000)
org.bouncycastle.asn1.DERBitString issuerUniqueId;
descriptor: Lorg/bouncycastle/asn1/DERBitString;
flags: (0x0000)
org.bouncycastle.asn1.DERBitString subjectUniqueId;
descriptor: Lorg/bouncycastle/asn1/DERBitString;
flags: (0x0000)
org.bouncycastle.asn1.x509.Extensions extensions;
descriptor: Lorg/bouncycastle/asn1/x509/Extensions;
flags: (0x0000)
public static org.bouncycastle.asn1.x509.TBSCertificate getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/x509/TBSCertificate;
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.asn1.ASN1Sequence.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Sequence;
invokestatic org.bouncycastle.asn1.x509.TBSCertificate.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/TBSCertificate;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Lorg/bouncycastle/asn1/ASN1TaggedObject;
0 1 1 explicit Z
MethodParameters:
Name Flags
obj
explicit
public static org.bouncycastle.asn1.x509.TBSCertificate getInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/TBSCertificate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.bouncycastle.asn1.x509.TBSCertificate
ifeq 2
1: aload 0
checkcast org.bouncycastle.asn1.x509.TBSCertificate
areturn
2: StackMap locals:
StackMap stack:
aload 0
ifnull 4
3: new org.bouncycastle.asn1.x509.TBSCertificate
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
invokespecial org.bouncycastle.asn1.x509.TBSCertificate.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
private void <init>(org.bouncycastle.asn1.ASN1Sequence);
descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
1: iconst_0
istore 2
start local 2 2: aload 0
aload 1
putfield org.bouncycastle.asn1.x509.TBSCertificate.seq:Lorg/bouncycastle/asn1/ASN1Sequence;
3: aload 1
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
instanceof org.bouncycastle.asn1.ASN1TaggedObject
ifeq 6
4: aload 0
aload 1
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1TaggedObject
iconst_1
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Integer;
putfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
5: goto 8
6: StackMap locals: org.bouncycastle.asn1.x509.TBSCertificate org.bouncycastle.asn1.ASN1Sequence int
StackMap stack:
iconst_m1
istore 2
7: aload 0
new org.bouncycastle.asn1.ASN1Integer
dup
lconst_0
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(J)V
putfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
8: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 9: iconst_0
istore 4
start local 4 10: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
lconst_0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iconst_1
istore 3
12: goto 18
13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 16
14: iconst_1
istore 4
15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifne 18
17: new java.lang.IllegalArgumentException
dup
ldc "version number not recognised"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iconst_1
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
putfield org.bouncycastle.asn1.x509.TBSCertificate.serialNumber:Lorg/bouncycastle/asn1/ASN1Integer;
19: aload 0
aload 1
iload 2
iconst_2
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
putfield org.bouncycastle.asn1.x509.TBSCertificate.signature:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
20: aload 0
aload 1
iload 2
iconst_3
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
putfield org.bouncycastle.asn1.x509.TBSCertificate.issuer:Lorg/bouncycastle/asn1/x500/X500Name;
21: aload 1
iload 2
iconst_4
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 5
start local 5 22: aload 0
aload 5
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.Time.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/Time;
putfield org.bouncycastle.asn1.x509.TBSCertificate.startDate:Lorg/bouncycastle/asn1/x509/Time;
23: aload 0
aload 5
iconst_1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.Time.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/Time;
putfield org.bouncycastle.asn1.x509.TBSCertificate.endDate:Lorg/bouncycastle/asn1/x509/Time;
24: aload 0
aload 1
iload 2
iconst_5
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
putfield org.bouncycastle.asn1.x509.TBSCertificate.subject:Lorg/bouncycastle/asn1/x500/X500Name;
25: aload 0
aload 1
iload 2
bipush 6
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
putfield org.bouncycastle.asn1.x509.TBSCertificate.subjectPublicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
26: aload 1
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
iload 2
bipush 6
iadd
isub
iconst_1
isub
istore 6
start local 6 27: iload 6
ifeq 41
iload 3
ifeq 41
28: new java.lang.IllegalArgumentException
dup
ldc "version 1 certificate contains extra data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: org.bouncycastle.asn1.ASN1Sequence int
StackMap stack:
aload 1
iload 2
bipush 6
iadd
iload 6
iadd
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1TaggedObject
astore 7
start local 7 30: aload 7
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
tableswitch { // 1 - 3
1: 31
2: 33
3: 35
default: 39
}
31: StackMap locals: org.bouncycastle.asn1.ASN1TaggedObject
StackMap stack:
aload 0
aload 7
iconst_0
invokestatic org.bouncycastle.asn1.DERBitString.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERBitString;
putfield org.bouncycastle.asn1.x509.TBSCertificate.issuerUniqueId:Lorg/bouncycastle/asn1/DERBitString;
32: goto 40
33: StackMap locals:
StackMap stack:
aload 0
aload 7
iconst_0
invokestatic org.bouncycastle.asn1.DERBitString.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERBitString;
putfield org.bouncycastle.asn1.x509.TBSCertificate.subjectUniqueId:Lorg/bouncycastle/asn1/DERBitString;
34: goto 40
35: StackMap locals:
StackMap stack:
iload 4
ifeq 37
36: new java.lang.IllegalArgumentException
dup
ldc "version 2 certificate cannot contain extensions"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
aload 0
aload 7
iconst_1
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Sequence;
invokestatic org.bouncycastle.asn1.x509.Extensions.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/Extensions;
putfield org.bouncycastle.asn1.x509.TBSCertificate.extensions:Lorg/bouncycastle/asn1/x509/Extensions;
38: goto 40
39: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown tag encountered in structure: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
iinc 6 -1
end local 7 41: StackMap locals:
StackMap stack:
iload 6
ifgt 29
42: 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 43 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
0 43 1 seq Lorg/bouncycastle/asn1/ASN1Sequence;
2 43 2 seqStart I
9 43 3 isV1 Z
10 43 4 isV2 Z
22 43 5 dates Lorg/bouncycastle/asn1/ASN1Sequence;
27 43 6 extras I
30 41 7 extra Lorg/bouncycastle/asn1/ASN1TaggedObject;
MethodParameters:
Name Flags
seq
public int getVersionNumber();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
iconst_1
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.ASN1Integer getVersion();
descriptor: ()Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.version:Lorg/bouncycastle/asn1/ASN1Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.ASN1Integer getSerialNumber();
descriptor: ()Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.serialNumber:Lorg/bouncycastle/asn1/ASN1Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getSignature();
descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.signature:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x500.X500Name getIssuer();
descriptor: ()Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.issuer:Lorg/bouncycastle/asn1/x500/X500Name;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x509.Time getStartDate();
descriptor: ()Lorg/bouncycastle/asn1/x509/Time;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.startDate:Lorg/bouncycastle/asn1/x509/Time;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x509.Time getEndDate();
descriptor: ()Lorg/bouncycastle/asn1/x509/Time;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.endDate:Lorg/bouncycastle/asn1/x509/Time;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x500.X500Name getSubject();
descriptor: ()Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.subject:Lorg/bouncycastle/asn1/x500/X500Name;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x509.SubjectPublicKeyInfo getSubjectPublicKeyInfo();
descriptor: ()Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.subjectPublicKeyInfo:Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.DERBitString getIssuerUniqueId();
descriptor: ()Lorg/bouncycastle/asn1/DERBitString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.issuerUniqueId:Lorg/bouncycastle/asn1/DERBitString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.DERBitString getSubjectUniqueId();
descriptor: ()Lorg/bouncycastle/asn1/DERBitString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.subjectUniqueId:Lorg/bouncycastle/asn1/DERBitString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.x509.Extensions getExtensions();
descriptor: ()Lorg/bouncycastle/asn1/x509/Extensions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.extensions:Lorg/bouncycastle/asn1/x509/Extensions;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
public org.bouncycastle.asn1.ASN1Primitive toASN1Primitive();
descriptor: ()Lorg/bouncycastle/asn1/ASN1Primitive;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.x509.TBSCertificate.seq:Lorg/bouncycastle/asn1/ASN1Sequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/x509/TBSCertificate;
}
SourceFile: "TBSCertificate.java"