public class org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder
super_class: java.lang.Object
{
private org.bouncycastle.operator.DigestAlgorithmIdentifierFinder digestAlgFinder;
descriptor: Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;
flags: (0x0002) ACC_PRIVATE
private java.util.List acceptedCerts;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
private java.util.List acceptedReqIds;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder
dup
invokespecial org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder.<init>:()V
invokespecial org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.<init>:(Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/cmp/CertificateConfirmationContentBuilder;
public void <init>(org.bouncycastle.operator.DigestAlgorithmIdentifierFinder);
descriptor: (Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedCerts:Ljava/util/List;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedReqIds:Ljava/util/List;
3: aload 0
aload 1
putfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.digestAlgFinder:Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/cert/cmp/CertificateConfirmationContentBuilder;
0 5 1 digestAlgFinder Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;
MethodParameters:
Name Flags
digestAlgFinder
public org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder addAcceptedCertificate(org.bouncycastle.cert.X509CertificateHolder, java.math.BigInteger);
descriptor: (Lorg/bouncycastle/cert/X509CertificateHolder;Ljava/math/BigInteger;)Lorg/bouncycastle/cert/cmp/CertificateConfirmationContentBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedCerts:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedReqIds:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cert/cmp/CertificateConfirmationContentBuilder;
0 3 1 certHolder Lorg/bouncycastle/cert/X509CertificateHolder;
0 3 2 certReqID Ljava/math/BigInteger;
MethodParameters:
Name Flags
certHolder
certReqID
public org.bouncycastle.cert.cmp.CertificateConfirmationContent build(org.bouncycastle.operator.DigestCalculatorProvider);
descriptor: (Lorg/bouncycastle/operator/DigestCalculatorProvider;)Lorg/bouncycastle/cert/cmp/CertificateConfirmationContent;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 15
3: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector int
StackMap stack:
aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedCerts:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bouncycastle.cert.X509CertificateHolder
astore 4
start local 4 4: aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedReqIds:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.math.BigInteger
astore 5
start local 5 5: aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.digestAlgFinder:Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;
aload 4
invokevirtual org.bouncycastle.cert.X509CertificateHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/Certificate;
invokevirtual org.bouncycastle.asn1.x509.Certificate.getSignatureAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokeinterface org.bouncycastle.operator.DigestAlgorithmIdentifierFinder.find:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 6
start local 6 6: aload 6
ifnonnull 8
7: new org.bouncycastle.cert.cmp.CMPException
dup
ldc "cannot find algorithm for digest from signature"
invokespecial org.bouncycastle.cert.cmp.CMPException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.bouncycastle.cert.X509CertificateHolder java.math.BigInteger org.bouncycastle.asn1.x509.AlgorithmIdentifier
StackMap stack:
aload 1
aload 6
invokeinterface org.bouncycastle.operator.DigestCalculatorProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/DigestCalculator;
astore 7
start local 7 9: goto 12
end local 7 10: StackMap locals:
StackMap stack: org.bouncycastle.operator.OperatorCreationException
astore 8
start local 8 11: new org.bouncycastle.cert.cmp.CMPException
dup
new java.lang.StringBuilder
dup
ldc "unable to create digest: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual org.bouncycastle.operator.OperatorCreationException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokespecial org.bouncycastle.cert.cmp.CMPException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 start local 7 12: StackMap locals: org.bouncycastle.operator.DigestCalculator
StackMap stack:
aload 4
invokevirtual org.bouncycastle.cert.X509CertificateHolder.toASN1Structure:()Lorg/bouncycastle/asn1/x509/Certificate;
aload 7
invokeinterface org.bouncycastle.operator.DigestCalculator.getOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cert.cmp.CMPUtil.derEncodeToStream:(Lorg/bouncycastle/asn1/ASN1Encodable;Ljava/io/OutputStream;)V
13: aload 2
new org.bouncycastle.asn1.cmp.CertStatus
dup
aload 7
invokeinterface org.bouncycastle.operator.DigestCalculator.getDigest:()[B
aload 5
invokespecial org.bouncycastle.asn1.cmp.CertStatus.<init>:([BLjava/math/BigInteger;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
end local 7 end local 6 end local 5 end local 4 14: iinc 3 1
StackMap locals: org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.asn1.ASN1EncodableVector int
StackMap stack:
15: iload 3
aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.acceptedCerts:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpne 3
end local 3 16: new org.bouncycastle.cert.cmp.CertificateConfirmationContent
dup
new org.bouncycastle.asn1.DERSequence
dup
aload 2
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
invokestatic org.bouncycastle.asn1.cmp.CertConfirmContent.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/CertConfirmContent;
aload 0
getfield org.bouncycastle.cert.cmp.CertificateConfirmationContentBuilder.digestAlgFinder:Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;
invokespecial org.bouncycastle.cert.cmp.CertificateConfirmationContent.<init>:(Lorg/bouncycastle/asn1/cmp/CertConfirmContent;Lorg/bouncycastle/operator/DigestAlgorithmIdentifierFinder;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/cert/cmp/CertificateConfirmationContentBuilder;
0 17 1 digesterProvider Lorg/bouncycastle/operator/DigestCalculatorProvider;
1 17 2 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
2 16 3 i I
4 14 4 certHolder Lorg/bouncycastle/cert/X509CertificateHolder;
5 14 5 reqID Ljava/math/BigInteger;
6 14 6 digAlg Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
9 10 7 digester Lorg/bouncycastle/operator/DigestCalculator;
12 14 7 digester Lorg/bouncycastle/operator/DigestCalculator;
11 12 8 e Lorg/bouncycastle/operator/OperatorCreationException;
Exception table:
from to target type
8 9 10 Class org.bouncycastle.operator.OperatorCreationException
Exceptions:
throws org.bouncycastle.cert.cmp.CMPException
MethodParameters:
Name Flags
digesterProvider
}
SourceFile: "CertificateConfirmationContentBuilder.java"