public class org.bouncycastle.jce.provider.X509CertificateObject extends java.security.cert.X509Certificate implements org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.X509CertificateObject
super_class: java.security.cert.X509Certificate
{
private org.bouncycastle.asn1.x509.X509CertificateStructure c;
descriptor: Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x509.BasicConstraints basicConstraints;
descriptor: Lorg/bouncycastle/asn1/x509/BasicConstraints;
flags: (0x0002) ACC_PRIVATE
private boolean[] keyUsage;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private boolean hashValueSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int hashValue;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier attrCarrier;
descriptor: Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.asn1.x509.X509CertificateStructure);
descriptor: (Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.cert.X509Certificate.<init>:()V
1: aload 0
new org.bouncycastle.jce.provider.PKCS12BagAttributeCarrierImpl
dup
invokespecial org.bouncycastle.jce.provider.PKCS12BagAttributeCarrierImpl.<init>:()V
putfield org.bouncycastle.jce.provider.X509CertificateObject.attrCarrier:Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
2: aload 0
aload 1
putfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
3: aload 0
ldc "2.5.29.19"
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getExtensionBytes:(Ljava/lang/String;)[B
astore 2
start local 2 4: aload 2
ifnull 9
5: aload 0
aload 2
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
putfield org.bouncycastle.jce.provider.X509CertificateObject.basicConstraints:Lorg/bouncycastle/asn1/x509/BasicConstraints;
end local 2 6: goto 9
7: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure
StackMap stack: java.lang.Exception
astore 2
start local 2 8: new java.security.cert.CertificateParsingException
dup
new java.lang.StringBuilder
dup
ldc "cannot construct BasicConstraints: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
aload 0
ldc "2.5.29.15"
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getExtensionBytes:(Ljava/lang/String;)[B
astore 2
start local 2 10: aload 2
ifnull 25
11: aload 2
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
invokestatic org.bouncycastle.asn1.DERBitString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERBitString;
astore 3
start local 3 12: aload 3
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
astore 2
13: aload 2
arraylength
bipush 8
imul
aload 3
invokevirtual org.bouncycastle.asn1.DERBitString.getPadBits:()I
isub
istore 4
start local 4 14: aload 0
iload 4
bipush 9
if_icmpge 15
bipush 9
goto 16
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure byte[] org.bouncycastle.asn1.DERBitString int
StackMap stack: org.bouncycastle.jce.provider.X509CertificateObject
15: iload 4
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure byte[] org.bouncycastle.asn1.DERBitString int
StackMap stack: org.bouncycastle.jce.provider.X509CertificateObject int
16: newarray 4
putfield org.bouncycastle.jce.provider.X509CertificateObject.keyUsage:[Z
17: iconst_0
istore 5
start local 5 18: goto 23
19: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.keyUsage:[Z
iload 5
aload 2
iload 5
bipush 8
idiv
baload
sipush 128
iload 5
bipush 8
irem
iushr
iand
ifeq 20
iconst_1
goto 21
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure byte[] org.bouncycastle.asn1.DERBitString int int
StackMap stack: boolean[] int
20: iconst_0
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure byte[] org.bouncycastle.asn1.DERBitString int int
StackMap stack: boolean[] int int
21: bastore
22: iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 4
if_icmpne 19
end local 5 end local 4 end local 3 24: goto 29
25: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.bouncycastle.jce.provider.X509CertificateObject.keyUsage:[Z
end local 2 26: goto 29
27: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.x509.X509CertificateStructure
StackMap stack: java.lang.Exception
astore 2
start local 2 28: new java.security.cert.CertificateParsingException
dup
new java.lang.StringBuilder
dup
ldc "cannot construct KeyUsage: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
athrow
end local 2 29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 30 1 c Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
4 6 2 bytes [B
8 9 2 e Ljava/lang/Exception;
10 26 2 bytes [B
12 24 3 bits Lorg/bouncycastle/asn1/DERBitString;
14 24 4 length I
18 24 5 i I
28 29 2 e Ljava/lang/Exception;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
9 26 27 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateParsingException
MethodParameters:
Name Flags
c
public void checkValidity();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.checkValidity:(Ljava/util/Date;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
Exceptions:
throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException
public void checkValidity(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Date.getTime:()J
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifle 2
1: new java.security.cert.CertificateExpiredException
dup
new java.lang.StringBuilder
dup
ldc "certificate expired on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getEndDate:()Lorg/bouncycastle/asn1/x509/Time;
invokevirtual org.bouncycastle.asn1.x509.Time.getTime:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateExpiredException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.Date.getTime:()J
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getNotBefore:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lcmp
ifge 4
3: new java.security.cert.CertificateNotYetValidException
dup
new java.lang.StringBuilder
dup
ldc "certificate not valid till "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getStartDate:()Lorg/bouncycastle/asn1/x509/Time;
invokevirtual org.bouncycastle.asn1.x509.Time.getTime:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 5 1 date Ljava/util/Date;
Exceptions:
throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException
MethodParameters:
Name Flags
date
public int getVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getVersion:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.math.BigInteger getSerialNumber();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSerialNumber:()Lorg/bouncycastle/asn1/DERInteger;
invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.security.Principal getIssuerDN();
descriptor: ()Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.jce.X509Principal
dup
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getIssuer:()Lorg/bouncycastle/asn1/x509/X509Name;
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public javax.security.auth.x500.X500Principal getIssuerX500Principal();
descriptor: ()Ljavax/security/auth/x500/X500Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: new org.bouncycastle.asn1.ASN1OutputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1OutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: aload 2
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getIssuer:()Lorg/bouncycastle/asn1/x509/X509Name;
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeObject:(Ljava/lang/Object;)V
3: new javax.security.auth.x500.X500Principal
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
4: areturn
end local 2 end local 1 5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: new java.lang.IllegalStateException
dup
ldc "can't encode issuer DN"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 5 1 bOut Ljava/io/ByteArrayOutputStream;
2 5 2 aOut Lorg/bouncycastle/asn1/ASN1OutputStream;
Exception table:
from to target type
0 4 5 Class java.io.IOException
public java.security.Principal getSubjectDN();
descriptor: ()Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.jce.X509Principal
dup
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSubject:()Lorg/bouncycastle/asn1/x509/X509Name;
invokespecial org.bouncycastle.jce.X509Principal.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public javax.security.auth.x500.X500Principal getSubjectX500Principal();
descriptor: ()Ljavax/security/auth/x500/X500Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: new org.bouncycastle.asn1.ASN1OutputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1OutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: aload 2
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSubject:()Lorg/bouncycastle/asn1/x509/X509Name;
invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeObject:(Ljava/lang/Object;)V
3: new javax.security.auth.x500.X500Principal
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
4: areturn
end local 2 end local 1 5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: new java.lang.IllegalStateException
dup
ldc "can't encode issuer DN"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 5 1 bOut Ljava/io/ByteArrayOutputStream;
2 5 2 aOut Lorg/bouncycastle/asn1/ASN1OutputStream;
Exception table:
from to target type
0 4 5 Class java.io.IOException
public java.util.Date getNotBefore();
descriptor: ()Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getStartDate:()Lorg/bouncycastle/asn1/x509/Time;
invokevirtual org.bouncycastle.asn1.x509.Time.getDate:()Ljava/util/Date;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.util.Date getNotAfter();
descriptor: ()Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getEndDate:()Lorg/bouncycastle/asn1/x509/Time;
invokevirtual org.bouncycastle.asn1.x509.Time.getDate:()Ljava/util/Date;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public byte[] getTBSCertificate();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
ldc "DER"
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getEncoded:(Ljava/lang/String;)[B
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.security.cert.CertificateEncodingException
dup
aload 1
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateEncodingException
public byte[] getSignature();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignature:()Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.lang.String getSigAlgName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
new java.lang.StringBuilder
dup
ldc "Alg.Alias.Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSigAlgOID:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
end local 2 5: StackMap locals: java.security.Provider
StackMap stack:
invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 12
8: StackMap locals: java.security.Provider[] int
StackMap stack:
aload 2
iload 3
aaload
new java.lang.StringBuilder
dup
ldc "Alg.Alias.Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSigAlgOID:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 9: aload 4
ifnull 11
10: aload 4
areturn
end local 4 11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 2
arraylength
if_icmpne 8
end local 3 13: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSigAlgOID:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 14 1 prov Ljava/security/Provider;
3 5 2 algName Ljava/lang/String;
6 14 2 provs [Ljava/security/Provider;
7 13 3 i I
9 11 4 algName Ljava/lang/String;
public java.lang.String getSigAlgOID();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public byte[] getSigAlgParams();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
ifnull 2
1: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokevirtual org.bouncycastle.asn1.DERObject.getDEREncoded:()[B
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public boolean[] getIssuerUniqueID();
descriptor: ()[Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getIssuerUniqueId:()Lorg/bouncycastle/asn1/DERBitString;
astore 1
start local 1 1: aload 1
ifnull 12
2: aload 1
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
astore 2
start local 2 3: aload 2
arraylength
bipush 8
imul
aload 1
invokevirtual org.bouncycastle.asn1.DERBitString.getPadBits:()I
isub
newarray 4
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 10
6: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
bipush 8
idiv
baload
sipush 128
iload 4
bipush 8
irem
iushr
iand
ifeq 7
iconst_1
goto 8
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int
7: iconst_0
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int int
8: bastore
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmpne 6
end local 4 11: aload 3
areturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 13 1 id Lorg/bouncycastle/asn1/DERBitString;
3 12 2 bytes [B
4 12 3 boolId [Z
5 11 4 i I
public boolean[] getSubjectUniqueID();
descriptor: ()[Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getSubjectUniqueId:()Lorg/bouncycastle/asn1/DERBitString;
astore 1
start local 1 1: aload 1
ifnull 12
2: aload 1
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
astore 2
start local 2 3: aload 2
arraylength
bipush 8
imul
aload 1
invokevirtual org.bouncycastle.asn1.DERBitString.getPadBits:()I
isub
newarray 4
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 10
6: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
bipush 8
idiv
baload
sipush 128
iload 4
bipush 8
irem
iushr
iand
ifeq 7
iconst_1
goto 8
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int
7: iconst_0
StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int int
8: bastore
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmpne 6
end local 4 11: aload 3
areturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 13 1 id Lorg/bouncycastle/asn1/DERBitString;
3 12 2 bytes [B
4 12 3 boolId [Z
5 11 4 i I
public boolean[] getKeyUsage();
descriptor: ()[Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.keyUsage:[Z
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.util.List getExtendedKeyUsage();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ldc "2.5.29.37"
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getExtensionBytes:(Ljava/lang/String;)[B
astore 1
start local 1 1: aload 1
ifnull 14
2: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 2
start local 2 3: aload 2
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 9
7: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject byte[] org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence java.util.List int
StackMap stack:
aload 4
aload 3
iload 5
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 3
invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
if_icmpne 7
end local 5 10: aload 4
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
11: areturn
end local 4 end local 3 end local 2 12: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject byte[]
StackMap stack: java.lang.Exception
pop
13: new java.security.cert.CertificateParsingException
dup
ldc "error processing extended key usage extension"
invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 15 1 bytes [B
3 12 2 dIn Lorg/bouncycastle/asn1/ASN1InputStream;
4 12 3 seq Lorg/bouncycastle/asn1/ASN1Sequence;
5 12 4 list Ljava/util/List;
6 10 5 i I
Exception table:
from to target type
2 11 12 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateParsingException
public int getBasicConstraints();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.basicConstraints:Lorg/bouncycastle/asn1/x509/BasicConstraints;
ifnull 6
1: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.basicConstraints:Lorg/bouncycastle/asn1/x509/BasicConstraints;
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
ifeq 5
2: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.basicConstraints:Lorg/bouncycastle/asn1/x509/BasicConstraints;
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.getPathLenConstraint:()Ljava/math/BigInteger;
ifnonnull 4
3: ldc 2147483647
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.basicConstraints:Lorg/bouncycastle/asn1/x509/BasicConstraints;
invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.getPathLenConstraint:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ireturn
5: StackMap locals:
StackMap stack:
iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.util.Set getCriticalExtensionOIDs();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getVersion:()I
iconst_3
if_icmpne 12
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 2: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 2
start local 2 3: aload 2
ifnull 12
4: aload 2
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.oids:()Ljava/util/Enumeration;
astore 3
start local 3 5: goto 10
6: StackMap locals: java.util.Set org.bouncycastle.asn1.x509.X509Extensions java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 4
start local 4 7: aload 2
aload 4
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 5
start local 5 8: aload 5
invokevirtual org.bouncycastle.asn1.x509.X509Extension.isCritical:()Z
ifeq 10
9: aload 1
aload 4
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 6
11: aload 1
areturn
end local 3 end local 2 end local 1 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
2 12 1 set Ljava/util/Set;
3 12 2 extensions Lorg/bouncycastle/asn1/x509/X509Extensions;
5 12 3 e Ljava/util/Enumeration;
7 10 4 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
8 10 5 ext Lorg/bouncycastle/asn1/x509/X509Extension;
private byte[] getExtensionBytes(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 2
new org.bouncycastle.asn1.DERObjectIdentifier
dup
aload 1
invokespecial org.bouncycastle.asn1.DERObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokevirtual org.bouncycastle.asn1.x509.X509Extension.getValue:()Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
areturn
end local 3 5: StackMap locals: org.bouncycastle.asn1.x509.X509Extensions
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 6 1 oid Ljava/lang/String;
1 6 2 exts Lorg/bouncycastle/asn1/x509/X509Extensions;
3 5 3 ext Lorg/bouncycastle/asn1/x509/X509Extension;
MethodParameters:
Name Flags
oid
public byte[] getExtensionValue(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 2
start local 2 1: aload 2
ifnull 8
2: aload 2
new org.bouncycastle.asn1.DERObjectIdentifier
dup
aload 1
invokespecial org.bouncycastle.asn1.DERObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 3
start local 3 3: aload 3
ifnull 8
4: aload 3
invokevirtual org.bouncycastle.asn1.x509.X509Extension.getValue:()Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getEncoded:()[B
5: areturn
6: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.lang.String org.bouncycastle.asn1.x509.X509Extensions org.bouncycastle.asn1.x509.X509Extension
StackMap stack: java.lang.Exception
astore 4
start local 4 7: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "error parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
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
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 9 1 oid Ljava/lang/String;
1 9 2 exts Lorg/bouncycastle/asn1/x509/X509Extensions;
3 8 3 ext Lorg/bouncycastle/asn1/x509/X509Extension;
7 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
oid
public java.util.Set getNonCriticalExtensionOIDs();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getVersion:()I
iconst_3
if_icmpne 12
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 2: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 2
start local 2 3: aload 2
ifnull 12
4: aload 2
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.oids:()Ljava/util/Enumeration;
astore 3
start local 3 5: goto 10
6: StackMap locals: java.util.Set org.bouncycastle.asn1.x509.X509Extensions java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 4
start local 4 7: aload 2
aload 4
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 5
start local 5 8: aload 5
invokevirtual org.bouncycastle.asn1.x509.X509Extension.isCritical:()Z
ifne 10
9: aload 1
aload 4
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 6
11: aload 1
areturn
end local 3 end local 2 end local 1 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
2 12 1 set Ljava/util/Set;
3 12 2 extensions Lorg/bouncycastle/asn1/x509/X509Extensions;
5 12 3 e Ljava/util/Enumeration;
7 10 4 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
8 10 5 ext Lorg/bouncycastle/asn1/x509/X509Extension;
public boolean hasUnsupportedCriticalExtension();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getVersion:()I
iconst_3
if_icmpne 23
1: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 1
start local 1 2: aload 1
ifnull 23
3: aload 1
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.oids:()Ljava/util/Enumeration;
astore 2
start local 2 4: goto 22
5: StackMap locals: org.bouncycastle.asn1.x509.X509Extensions java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 3
start local 3 6: aload 3
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
astore 4
start local 4 7: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.KEY_USAGE:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
8: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
9: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
10: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
11: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
12: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
13: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
14: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
15: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
16: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
17: aload 4
getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: goto 22
19: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier java.lang.String
StackMap stack:
aload 1
aload 3
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 5
start local 5 20: aload 5
invokevirtual org.bouncycastle.asn1.x509.X509Extension.isCritical:()Z
ifeq 22
21: iconst_1
ireturn
end local 5 end local 4 end local 3 22: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
end local 2 end local 1 23: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
2 23 1 extensions Lorg/bouncycastle/asn1/x509/X509Extensions;
4 23 2 e Ljava/util/Enumeration;
6 22 3 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
7 22 4 oidId Ljava/lang/String;
20 22 5 ext Lorg/bouncycastle/asn1/x509/X509Extension;
public java.security.PublicKey getPublicKey();
descriptor: ()Ljava/security/PublicKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSubjectPublicKeyInfo:()Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
invokestatic org.bouncycastle.jce.provider.JDKKeyFactory.createPublicKeyFromPublicKeyInfo:(Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public byte[] getEncoded();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
ldc "DER"
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getEncoded:(Ljava/lang/String;)[B
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.security.cert.CertificateEncodingException
dup
aload 1
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateEncodingException
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.cert.Certificate
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.cert.Certificate
astore 2
start local 2 5: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getEncoded:()[B
astore 3
start local 3 6: aload 2
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 4
start local 4 7: aload 3
aload 4
invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
8: ireturn
end local 4 end local 3 9: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.lang.Object java.security.cert.Certificate
StackMap stack: java.security.cert.CertificateEncodingException
pop
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 11 1 o Ljava/lang/Object;
5 11 2 other Ljava/security/cert/Certificate;
6 9 3 b1 [B
7 9 4 b2 [B
Exception table:
from to target type
5 8 9 Class java.security.cert.CertificateEncodingException
MethodParameters:
Name Flags
o
public synchronized int hashCode();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.hashValueSet:Z
ifne 3
1: aload 0
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.calculateHashCode:()I
putfield org.bouncycastle.jce.provider.X509CertificateObject.hashValue:I
2: aload 0
iconst_1
putfield org.bouncycastle.jce.provider.X509CertificateObject.hashValueSet:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.hashValue:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
private int calculateHashCode();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getEncoded:()[B
astore 2
start local 2 2: iconst_1
istore 3
start local 3 3: goto 6
4: StackMap locals: int byte[] int
StackMap stack:
iload 1
aload 2
iload 3
baload
iload 3
imul
iadd
istore 1
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 7: iload 1
8: ireturn
end local 2 end local 1 9: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject
StackMap stack: java.security.cert.CertificateEncodingException
pop
10: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 9 1 hashCode I
2 9 2 certData [B
3 7 3 i I
Exception table:
from to target type
0 8 9 Class java.security.cert.CertificateEncodingException
public void setBagAttribute(org.bouncycastle.asn1.DERObjectIdentifier, org.bouncycastle.asn1.DEREncodable);
descriptor: (Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)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
getfield org.bouncycastle.jce.provider.X509CertificateObject.attrCarrier:Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
aload 1
aload 2
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.setBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;Lorg/bouncycastle/asn1/DEREncodable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 2 1 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 2 2 attribute Lorg/bouncycastle/asn1/DEREncodable;
MethodParameters:
Name Flags
oid
attribute
public org.bouncycastle.asn1.DEREncodable getBagAttribute(org.bouncycastle.asn1.DERObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.attrCarrier:Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
aload 1
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttribute:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/DEREncodable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 1 1 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
MethodParameters:
Name Flags
oid
public java.util.Enumeration getBagAttributeKeys();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.attrCarrier:Lorg/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier;
invokeinterface org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier.getBagAttributeKeys:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: ldc "line.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 1
ldc " [0] Version: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getVersion:()I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
ldc " SerialNumber: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc " IssuerDN: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getIssuerDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
ldc " Start Date: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getNotBefore:()Ljava/util/Date;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 1
ldc " Final Date: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getNotAfter:()Ljava/util/Date;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 1
ldc " SubjectDN: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSubjectDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
ldc " Public Key: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
ldc " Signature Algorithm: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSigAlgName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSignature:()[B
astore 3
start local 3 11: aload 1
ldc " Signature: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
new java.lang.String
dup
aload 3
iconst_0
bipush 20
invokestatic org.bouncycastle.util.encoders.Hex.encode:([BII)[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
12: bipush 20
istore 4
start local 4 13: goto 19
14: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.lang.StringBuffer java.lang.String byte[] int
StackMap stack:
iload 4
aload 3
arraylength
bipush 20
isub
if_icmpge 17
15: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
new java.lang.String
dup
aload 3
iload 4
bipush 20
invokestatic org.bouncycastle.util.encoders.Hex.encode:([BII)[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
16: goto 18
17: StackMap locals:
StackMap stack:
aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
new java.lang.String
dup
aload 3
iload 4
aload 3
arraylength
iload 4
isub
invokestatic org.bouncycastle.util.encoders.Hex.encode:([BII)[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
18: StackMap locals:
StackMap stack:
iinc 4 20
StackMap locals:
StackMap stack:
19: iload 4
aload 3
arraylength
if_icmplt 14
end local 4 20: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getExtensions:()Lorg/bouncycastle/asn1/x509/X509Extensions;
astore 4
start local 4 21: aload 4
ifnull 56
22: aload 4
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.oids:()Ljava/util/Enumeration;
astore 5
start local 5 23: aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 55
24: aload 1
ldc " Extensions: \n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
25: goto 55
26: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.lang.StringBuffer java.lang.String byte[] org.bouncycastle.asn1.x509.X509Extensions java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
astore 6
start local 6 27: aload 4
aload 6
invokevirtual org.bouncycastle.asn1.x509.X509Extensions.getExtension:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x509/X509Extension;
astore 7
start local 7 28: aload 7
invokevirtual org.bouncycastle.asn1.x509.X509Extension.getValue:()Lorg/bouncycastle/asn1/ASN1OctetString;
ifnull 54
29: aload 7
invokevirtual org.bouncycastle.asn1.x509.X509Extension.getValue:()Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
astore 8
start local 8 30: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 8
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
astore 9
start local 9 31: aload 1
ldc " critical("
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 7
invokevirtual org.bouncycastle.asn1.x509.X509Extension.isCritical:()Z
invokevirtual java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;
ldc ") "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
32: aload 6
getstatic org.bouncycastle.asn1.x509.X509Extensions.BasicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 35
33: aload 1
new org.bouncycastle.asn1.x509.BasicConstraints
dup
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.x509.BasicConstraints.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
34: goto 55
35: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.lang.StringBuffer java.lang.String byte[] org.bouncycastle.asn1.x509.X509Extensions java.util.Enumeration org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.x509.X509Extension byte[] org.bouncycastle.asn1.ASN1InputStream
StackMap stack:
aload 6
getstatic org.bouncycastle.asn1.x509.X509Extensions.KeyUsage:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 38
36: aload 1
new org.bouncycastle.asn1.x509.KeyUsage
dup
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.DERBitString
invokespecial org.bouncycastle.asn1.x509.KeyUsage.<init>:(Lorg/bouncycastle/asn1/DERBitString;)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
37: goto 55
38: StackMap locals:
StackMap stack:
aload 6
getstatic org.bouncycastle.asn1.misc.MiscObjectIdentifiers.netscapeCertType:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 41
39: aload 1
new org.bouncycastle.asn1.misc.NetscapeCertType
dup
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.DERBitString
invokespecial org.bouncycastle.asn1.misc.NetscapeCertType.<init>:(Lorg/bouncycastle/asn1/DERBitString;)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
40: goto 55
41: StackMap locals:
StackMap stack:
aload 6
getstatic org.bouncycastle.asn1.misc.MiscObjectIdentifiers.netscapeRevocationURL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 44
42: aload 1
new org.bouncycastle.asn1.misc.NetscapeRevocationURL
dup
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.DERIA5String
invokespecial org.bouncycastle.asn1.misc.NetscapeRevocationURL.<init>:(Lorg/bouncycastle/asn1/DERIA5String;)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
43: goto 55
44: StackMap locals:
StackMap stack:
aload 6
getstatic org.bouncycastle.asn1.misc.MiscObjectIdentifiers.verisignCzagExtension:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 47
45: aload 1
new org.bouncycastle.asn1.misc.VerisignCzagExtension
dup
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
checkcast org.bouncycastle.asn1.DERIA5String
invokespecial org.bouncycastle.asn1.misc.VerisignCzagExtension.<init>:(Lorg/bouncycastle/asn1/DERIA5String;)V
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
46: goto 55
47: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
48: aload 1
ldc " value = "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 9
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.util.ASN1Dump.dumpAsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
49: goto 55
50: StackMap locals:
StackMap stack: java.lang.Exception
pop
51: aload 1
aload 6
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
52: aload 1
ldc " value = "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc "*****"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 9 end local 8 53: goto 55
54: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 7 end local 6 55: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 26
end local 5 56: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
1 57 1 buf Ljava/lang/StringBuffer;
2 57 2 nl Ljava/lang/String;
11 57 3 sig [B
13 20 4 i I
21 57 4 extensions Lorg/bouncycastle/asn1/x509/X509Extensions;
23 56 5 e Ljava/util/Enumeration;
27 55 6 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
28 55 7 ext Lorg/bouncycastle/asn1/x509/X509Extension;
30 53 8 octs [B
31 53 9 dIn Lorg/bouncycastle/asn1/ASN1InputStream;
Exception table:
from to target type
32 49 50 Class java.lang.Exception
public final void verify(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokestatic org.bouncycastle.jce.provider.X509SignatureUtil.getSignatureName:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
astore 2
start local 2 2: goto 5
end local 2 3: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.security.PublicKey top java.lang.String
StackMap stack: java.lang.Exception
pop
4: aload 3
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 2
start local 2 5: StackMap locals: org.bouncycastle.jce.provider.X509CertificateObject java.security.PublicKey java.security.Signature java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.checkSignature:(Ljava/security/PublicKey;Ljava/security/Signature;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 7 1 key Ljava/security/PublicKey;
2 3 2 signature Ljava/security/Signature;
5 7 2 signature Ljava/security/Signature;
1 7 3 sigName Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
MethodParameters:
Name Flags
key
public final void verify(java.security.PublicKey, java.lang.String);
descriptor: (Ljava/security/PublicKey;Ljava/lang/String;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokestatic org.bouncycastle.jce.provider.X509SignatureUtil.getSignatureName:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
astore 4
start local 4 2: aload 0
aload 1
aload 4
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.checkSignature:(Ljava/security/PublicKey;Ljava/security/Signature;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 4 1 key Ljava/security/PublicKey;
0 4 2 sigProvider Ljava/lang/String;
1 4 3 sigName Ljava/lang/String;
2 4 4 signature Ljava/security/Signature;
Exceptions:
throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
MethodParameters:
Name Flags
key
sigProvider
private void checkSignature(java.security.PublicKey, java.security.Signature);
descriptor: (Ljava/security/PublicKey;Ljava/security/Signature;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getTBSCertificate:()Lorg/bouncycastle/asn1/x509/TBSCertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.TBSCertificateStructure.getSignature:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.isAlgIdEqual:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
ifne 2
1: new java.security.cert.CertificateException
dup
ldc "signature algorithm in TBS cert not same as outer cert"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.X509CertificateObject.c:Lorg/bouncycastle/asn1/x509/X509CertificateStructure;
invokevirtual org.bouncycastle.asn1.x509.X509CertificateStructure.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
astore 3
start local 3 3: aload 2
aload 3
invokestatic org.bouncycastle.jce.provider.X509SignatureUtil.setSignatureParameters:(Ljava/security/Signature;Lorg/bouncycastle/asn1/DEREncodable;)V
4: aload 2
aload 1
invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
5: aload 2
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getTBSCertificate:()[B
invokevirtual java.security.Signature.update:([B)V
6: aload 2
aload 0
invokevirtual org.bouncycastle.jce.provider.X509CertificateObject.getSignature:()[B
invokevirtual java.security.Signature.verify:([B)Z
ifne 8
7: new java.security.InvalidKeyException
dup
ldc "Public key presented not for certificate signature"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.bouncycastle.asn1.DEREncodable
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 9 1 key Ljava/security/PublicKey;
0 9 2 signature Ljava/security/Signature;
3 9 3 params Lorg/bouncycastle/asn1/DEREncodable;
Exceptions:
throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.security.InvalidKeyException
MethodParameters:
Name Flags
key
signature
private boolean isAlgIdEqual(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
ifnonnull 6
3: aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
ifnull 5
aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
ifnonnull 10
7: aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
ifnull 9
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
aload 2
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/jce/provider/X509CertificateObject;
0 11 1 id1 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 11 2 id2 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
MethodParameters:
Name Flags
id1
id2
}
SourceFile: "X509CertificateObject.java"