class org.bouncycastle.cert.CertUtils
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.cert.CertUtils
super_class: java.lang.Object
{
private static java.util.Set EMPTY_SET;
descriptor: Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.List EMPTY_LIST;
descriptor: Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putstatic org.bouncycastle.cert.CertUtils.EMPTY_SET:Ljava/util/Set;
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putstatic org.bouncycastle.cert.CertUtils.EMPTY_LIST:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/CertUtils;
static org.bouncycastle.asn1.ASN1Primitive parseNonEmptyASN1(byte[]);
descriptor: ([B)Lorg/bouncycastle/asn1/ASN1Primitive;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.io.IOException
dup
ldc "no content found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.asn1.ASN1Primitive
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 encoding [B
1 4 1 p Lorg/bouncycastle/asn1/ASN1Primitive;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
encoding
static org.bouncycastle.cert.X509CertificateHolder generateFullCert(org.bouncycastle.operator.ContentSigner, org.bouncycastle.asn1.x509.TBSCertificate);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/x509/TBSCertificate;)Lorg/bouncycastle/cert/X509CertificateHolder;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.cert.X509CertificateHolder
dup
aload 1
aload 0
invokeinterface org.bouncycastle.operator.ContentSigner.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
aload 1
invokestatic org.bouncycastle.cert.CertUtils.generateSig:(Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/ASN1Encodable;)[B
invokestatic org.bouncycastle.cert.CertUtils.generateStructure:(Lorg/bouncycastle/asn1/x509/TBSCertificate;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/Certificate;
invokespecial org.bouncycastle.cert.X509CertificateHolder.<init>:(Lorg/bouncycastle/asn1/x509/Certificate;)V
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: new java.lang.IllegalStateException
dup
ldc "cannot produce certificate signature"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 signer Lorg/bouncycastle/operator/ContentSigner;
0 4 1 tbsCert Lorg/bouncycastle/asn1/x509/TBSCertificate;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
signer
tbsCert
static org.bouncycastle.cert.X509AttributeCertificateHolder generateFullAttrCert(org.bouncycastle.operator.ContentSigner, org.bouncycastle.asn1.x509.AttributeCertificateInfo);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/x509/AttributeCertificateInfo;)Lorg/bouncycastle/cert/X509AttributeCertificateHolder;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.cert.X509AttributeCertificateHolder
dup
aload 1
aload 0
invokeinterface org.bouncycastle.operator.ContentSigner.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
aload 1
invokestatic org.bouncycastle.cert.CertUtils.generateSig:(Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/ASN1Encodable;)[B
invokestatic org.bouncycastle.cert.CertUtils.generateAttrStructure:(Lorg/bouncycastle/asn1/x509/AttributeCertificateInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/AttributeCertificate;
invokespecial org.bouncycastle.cert.X509AttributeCertificateHolder.<init>:(Lorg/bouncycastle/asn1/x509/AttributeCertificate;)V
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: new java.lang.IllegalStateException
dup
ldc "cannot produce attribute certificate signature"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 signer Lorg/bouncycastle/operator/ContentSigner;
0 4 1 attrInfo Lorg/bouncycastle/asn1/x509/AttributeCertificateInfo;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
signer
attrInfo
static org.bouncycastle.cert.X509CRLHolder generateFullCRL(org.bouncycastle.operator.ContentSigner, org.bouncycastle.asn1.x509.TBSCertList);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/x509/TBSCertList;)Lorg/bouncycastle/cert/X509CRLHolder;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.cert.X509CRLHolder
dup
aload 1
aload 0
invokeinterface org.bouncycastle.operator.ContentSigner.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
aload 1
invokestatic org.bouncycastle.cert.CertUtils.generateSig:(Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/ASN1Encodable;)[B
invokestatic org.bouncycastle.cert.CertUtils.generateCRLStructure:(Lorg/bouncycastle/asn1/x509/TBSCertList;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/CertificateList;
invokespecial org.bouncycastle.cert.X509CRLHolder.<init>:(Lorg/bouncycastle/asn1/x509/CertificateList;)V
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: new java.lang.IllegalStateException
dup
ldc "cannot produce certificate signature"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 signer Lorg/bouncycastle/operator/ContentSigner;
0 4 1 tbsCertList Lorg/bouncycastle/asn1/x509/TBSCertList;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
signer
tbsCertList
private static byte[] generateSig(org.bouncycastle.operator.ContentSigner, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/operator/ContentSigner;Lorg/bouncycastle/asn1/ASN1Encodable;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.bouncycastle.operator.ContentSigner.getOutputStream:()Ljava/io/OutputStream;
astore 2
start local 2 1: new org.bouncycastle.asn1.DEROutputStream
dup
aload 2
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 2: aload 3
aload 1
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeObject:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
3: aload 2
invokevirtual java.io.OutputStream.close:()V
4: aload 0
invokeinterface org.bouncycastle.operator.ContentSigner.getSignature:()[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 signer Lorg/bouncycastle/operator/ContentSigner;
0 5 1 tbsObj Lorg/bouncycastle/asn1/ASN1Encodable;
1 5 2 sOut Ljava/io/OutputStream;
2 5 3 dOut Lorg/bouncycastle/asn1/DEROutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
signer
tbsObj
private static org.bouncycastle.asn1.x509.Certificate generateStructure(org.bouncycastle.asn1.x509.TBSCertificate, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/TBSCertificate;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/Certificate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
2: aload 3
aload 1
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
3: aload 3
new org.bouncycastle.asn1.DERBitString
dup
aload 2
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: new org.bouncycastle.asn1.DERSequence
dup
aload 3
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.x509.Certificate.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/Certificate;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 tbsCert Lorg/bouncycastle/asn1/x509/TBSCertificate;
0 5 1 sigAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 signature [B
1 5 3 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
MethodParameters:
Name Flags
tbsCert
sigAlgId
signature
private static org.bouncycastle.asn1.x509.AttributeCertificate generateAttrStructure(org.bouncycastle.asn1.x509.AttributeCertificateInfo, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AttributeCertificateInfo;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/AttributeCertificate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
2: aload 3
aload 1
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
3: aload 3
new org.bouncycastle.asn1.DERBitString
dup
aload 2
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: new org.bouncycastle.asn1.DERSequence
dup
aload 3
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.x509.AttributeCertificate.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AttributeCertificate;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 attrInfo Lorg/bouncycastle/asn1/x509/AttributeCertificateInfo;
0 5 1 sigAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 signature [B
1 5 3 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
MethodParameters:
Name Flags
attrInfo
sigAlgId
signature
private static org.bouncycastle.asn1.x509.CertificateList generateCRLStructure(org.bouncycastle.asn1.x509.TBSCertList, org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/TBSCertList;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/asn1/x509/CertificateList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
2: aload 3
aload 1
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
3: aload 3
new org.bouncycastle.asn1.DERBitString
dup
aload 2
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: new org.bouncycastle.asn1.DERSequence
dup
aload 3
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.x509.CertificateList.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CertificateList;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 tbsCertList Lorg/bouncycastle/asn1/x509/TBSCertList;
0 5 1 sigAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 5 2 signature [B
1 5 3 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
MethodParameters:
Name Flags
tbsCertList
sigAlgId
signature
static java.util.Set getCriticalExtensionOIDs(org.bouncycastle.asn1.x509.Extensions);
descriptor: (Lorg/bouncycastle/asn1/x509/Extensions;)Ljava/util/Set;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: getstatic org.bouncycastle.cert.CertUtils.EMPTY_SET:Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 0
invokevirtual org.bouncycastle.asn1.x509.Extensions.getCriticalExtensionOIDs:()[Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 extensions Lorg/bouncycastle/asn1/x509/Extensions;
MethodParameters:
Name Flags
extensions
static java.util.Set getNonCriticalExtensionOIDs(org.bouncycastle.asn1.x509.Extensions);
descriptor: (Lorg/bouncycastle/asn1/x509/Extensions;)Ljava/util/Set;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: getstatic org.bouncycastle.cert.CertUtils.EMPTY_SET:Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 0
invokevirtual org.bouncycastle.asn1.x509.Extensions.getNonCriticalExtensionOIDs:()[Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 extensions Lorg/bouncycastle/asn1/x509/Extensions;
MethodParameters:
Name Flags
extensions
static java.util.List getExtensionOIDs(org.bouncycastle.asn1.x509.Extensions);
descriptor: (Lorg/bouncycastle/asn1/x509/Extensions;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: getstatic org.bouncycastle.cert.CertUtils.EMPTY_LIST:Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.Extensions.getExtensionOIDs:()[Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 extensions Lorg/bouncycastle/asn1/x509/Extensions;
MethodParameters:
Name Flags
extensions
static void addExtension(org.bouncycastle.asn1.x509.ExtensionsGenerator, org.bouncycastle.asn1.ASN1ObjectIdentifier, boolean, org.bouncycastle.asn1.ASN1Encodable);
descriptor: (Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1Encodable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokevirtual org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;ZLorg/bouncycastle/asn1/ASN1Encodable;)V
1: goto 4
2: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 3: new org.bouncycastle.cert.CertIOException
dup
new java.lang.StringBuilder
dup
ldc "cannot encode extension: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial org.bouncycastle.cert.CertIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 extGenerator Lorg/bouncycastle/asn1/x509/ExtensionsGenerator;
0 5 1 oid Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 2 isCritical Z
0 5 3 value Lorg/bouncycastle/asn1/ASN1Encodable;
3 4 4 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cert.CertIOException
MethodParameters:
Name Flags
extGenerator
oid
isCritical
value
static org.bouncycastle.asn1.DERBitString booleanToBitString(boolean[]);
descriptor: ([Z)Lorg/bouncycastle/asn1/DERBitString;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
arraylength
bipush 7
iadd
bipush 8
idiv
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
bipush 8
idiv
dup2
baload
aload 0
iload 2
baload
ifeq 4
iconst_1
bipush 7
iload 2
bipush 8
irem
isub
ishl
goto 5
StackMap locals: boolean[] byte[] int
StackMap stack: byte[] int int
4: iconst_0
StackMap locals: boolean[] byte[] int
StackMap stack: byte[] int int int
5: ior
i2b
bastore
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmpne 3
end local 2 8: aload 0
arraylength
bipush 8
irem
istore 2
start local 2 9: iload 2
ifne 11
10: new org.bouncycastle.asn1.DERBitString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([B)V
areturn
11: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERBitString
dup
aload 1
bipush 8
iload 2
isub
invokespecial org.bouncycastle.asn1.DERBitString.<init>:([BI)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 id [Z
1 12 1 bytes [B
2 8 2 i I
9 12 2 pad I
MethodParameters:
Name Flags
id
static boolean[] bitStringToBoolean(org.bouncycastle.asn1.DERBitString);
descriptor: (Lorg/bouncycastle/asn1/DERBitString;)[Z
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
ifnull 11
1: aload 0
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
astore 1
start local 1 2: aload 1
arraylength
bipush 8
imul
aload 0
invokevirtual org.bouncycastle.asn1.DERBitString.getPadBits:()I
isub
newarray 4
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 9
5: StackMap locals: byte[] boolean[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
bipush 8
idiv
baload
sipush 128
iload 3
bipush 8
irem
iushr
iand
ifeq 6
iconst_1
goto 7
StackMap locals: org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int
6: iconst_0
StackMap locals: org.bouncycastle.asn1.DERBitString byte[] boolean[] int
StackMap stack: boolean[] int int
7: bastore
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 2
arraylength
if_icmpne 5
end local 3 10: aload 2
areturn
end local 2 end local 1 11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 bitString Lorg/bouncycastle/asn1/DERBitString;
2 11 1 bytes [B
3 11 2 boolId [Z
4 10 3 i I
MethodParameters:
Name Flags
bitString
static java.util.Date recoverDate(org.bouncycastle.asn1.ASN1GeneralizedTime);
descriptor: (Lorg/bouncycastle/asn1/ASN1GeneralizedTime;)Ljava/util/Date;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1GeneralizedTime.getDate:()Ljava/util/Date;
1: areturn
2: StackMap locals:
StackMap stack: java.text.ParseException
astore 1
start local 1 3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unable to recover date: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.text.ParseException.getMessage:()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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 time Lorg/bouncycastle/asn1/ASN1GeneralizedTime;
3 4 1 e Ljava/text/ParseException;
Exception table:
from to target type
0 1 2 Class java.text.ParseException
MethodParameters:
Name Flags
time
static 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: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
ifnonnull 6
3: aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
ifnull 5
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
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 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
ifnonnull 10
7: aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
ifnull 9
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
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 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 id1 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 11 1 id2 Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
MethodParameters:
Name Flags
id1
id2
}
SourceFile: "CertUtils.java"