public class org.bouncycastle.cert.crmf.CertificateRequestMessage implements org.bouncycastle.util.Encodable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.crmf.CertificateRequestMessage
super_class: java.lang.Object
{
public static final int popRaVerified;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int popSigningKey;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int popKeyEncipherment;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int popKeyAgreement;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final org.bouncycastle.asn1.crmf.CertReqMsg certReqMsg;
descriptor: Lorg/bouncycastle/asn1/crmf/CertReqMsg;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bouncycastle.asn1.crmf.Controls controls;
descriptor: Lorg/bouncycastle/asn1/crmf/Controls;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static org.bouncycastle.asn1.crmf.CertReqMsg parseBytes(byte[]);
descriptor: ([B)Lorg/bouncycastle/asn1/crmf/CertReqMsg;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.crmf.CertReqMsg.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/CertReqMsg;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 1
start local 1 3: new org.bouncycastle.cert.CertIOException
dup
new java.lang.StringBuilder
dup
ldc "malformed data: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial org.bouncycastle.cert.CertIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 1
start local 1 5: new org.bouncycastle.cert.CertIOException
dup
new java.lang.StringBuilder
dup
ldc "malformed data: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial org.bouncycastle.cert.CertIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 encoding [B
3 4 1 e Ljava/lang/ClassCastException;
5 6 1 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
0 1 4 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
encoding
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bouncycastle.cert.crmf.CertificateRequestMessage.parseBytes:([B)Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokespecial org.bouncycastle.cert.crmf.CertificateRequestMessage.<init>:(Lorg/bouncycastle/asn1/crmf/CertReqMsg;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 2 1 certReqMsg [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
certReqMsg
public void <init>(org.bouncycastle.asn1.crmf.CertReqMsg);
descriptor: (Lorg/bouncycastle/asn1/crmf/CertReqMsg;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
2: aload 0
aload 1
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getCertReq:()Lorg/bouncycastle/asn1/crmf/CertRequest;
invokevirtual org.bouncycastle.asn1.crmf.CertRequest.getControls:()Lorg/bouncycastle/asn1/crmf/Controls;
putfield org.bouncycastle.cert.crmf.CertificateRequestMessage.controls:Lorg/bouncycastle/asn1/crmf/Controls;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 4 1 certReqMsg Lorg/bouncycastle/asn1/crmf/CertReqMsg;
MethodParameters:
Name Flags
certReqMsg
public org.bouncycastle.asn1.crmf.CertReqMsg toASN1Structure();
descriptor: ()Lorg/bouncycastle/asn1/crmf/CertReqMsg;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
public org.bouncycastle.asn1.crmf.CertTemplate getCertTemplate();
descriptor: ()Lorg/bouncycastle/asn1/crmf/CertTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getCertReq:()Lorg/bouncycastle/asn1/crmf/CertRequest;
invokevirtual org.bouncycastle.asn1.crmf.CertRequest.getCertTemplate:()Lorg/bouncycastle/asn1/crmf/CertTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
public boolean hasControls();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.controls:Lorg/bouncycastle/asn1/crmf/Controls;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
public boolean hasControl(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.cert.crmf.CertificateRequestMessage.findControl:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 2 1 type Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
MethodParameters:
Name Flags
type
public org.bouncycastle.cert.crmf.Control getControl(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/cert/crmf/Control;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.cert.crmf.CertificateRequestMessage.findControl:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
astore 2
start local 2 1: aload 2
ifnull 8
2: aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.crmf.CRMFObjectIdentifiers.id_regCtrl_pkiArchiveOptions:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new org.bouncycastle.cert.crmf.PKIArchiveControl
dup
aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getValue:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.crmf.PKIArchiveOptions.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/PKIArchiveOptions;
invokespecial org.bouncycastle.cert.crmf.PKIArchiveControl.<init>:(Lorg/bouncycastle/asn1/crmf/PKIArchiveOptions;)V
areturn
4: StackMap locals: org.bouncycastle.asn1.crmf.AttributeTypeAndValue
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.crmf.CRMFObjectIdentifiers.id_regCtrl_regToken:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 6
5: new org.bouncycastle.cert.crmf.RegTokenControl
dup
aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getValue:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.DERUTF8String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERUTF8String;
invokespecial org.bouncycastle.cert.crmf.RegTokenControl.<init>:(Lorg/bouncycastle/asn1/DERUTF8String;)V
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
getstatic org.bouncycastle.asn1.crmf.CRMFObjectIdentifiers.id_regCtrl_authenticator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 8
7: new org.bouncycastle.cert.crmf.AuthenticatorControl
dup
aload 2
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getValue:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.DERUTF8String.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERUTF8String;
invokespecial org.bouncycastle.cert.crmf.AuthenticatorControl.<init>:(Lorg/bouncycastle/asn1/DERUTF8String;)V
areturn
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/cert/crmf/CertificateRequestMessage;
0 9 1 type Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
1 9 2 found Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
MethodParameters:
Name Flags
type
private org.bouncycastle.asn1.crmf.AttributeTypeAndValue findControl(org.bouncycastle.asn1.ASN1ObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.controls:Lorg/bouncycastle/asn1/crmf/Controls;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.controls:Lorg/bouncycastle/asn1/crmf/Controls;
invokevirtual org.bouncycastle.asn1.crmf.Controls.toAttributeTypeAndValueArray:()[Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
astore 2
start local 2 3: aconst_null
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 10
6: StackMap locals: org.bouncycastle.asn1.crmf.AttributeTypeAndValue[] org.bouncycastle.asn1.crmf.AttributeTypeAndValue int
StackMap stack:
aload 2
iload 4
aaload
invokevirtual org.bouncycastle.asn1.crmf.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 1
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 2
iload 4
aaload
astore 3
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 2
arraylength
if_icmpne 6
end local 4 11: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 12 1 type Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
3 12 2 tAndVs [Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
4 12 3 found Lorg/bouncycastle/asn1/crmf/AttributeTypeAndValue;
5 11 4 i I
MethodParameters:
Name Flags
type
public boolean hasProofOfPossession();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getPopo:()Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
public int getProofOfPossessionType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getPopo:()Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getType:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
public boolean hasSigningKeyProofOfPossessionWithPKMAC();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getPopo:()Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
astore 1
start local 1 1: aload 1
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getType:()I
iconst_1
if_icmpne 5
2: aload 1
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.crmf.POPOSigningKey.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
astore 2
start local 2 3: aload 2
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKeyInput.getPublicKeyMAC:()Lorg/bouncycastle/asn1/crmf/PKMACValue;
ifnull 4
iconst_1
ireturn
StackMap locals: org.bouncycastle.asn1.crmf.ProofOfPossession org.bouncycastle.asn1.crmf.POPOSigningKey
StackMap stack:
4: iconst_0
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
1 6 1 pop Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
3 5 2 popoSign Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
public boolean isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider);
descriptor: (Lorg/bouncycastle/operator/ContentVerifierProvider;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getPopo:()Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
astore 2
start local 2 1: aload 2
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getType:()I
iconst_1
if_icmpne 6
2: aload 2
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.crmf.POPOSigningKey.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
astore 3
start local 3 3: aload 3
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
ifnull 5
aload 3
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKeyInput.getPublicKeyMAC:()Lorg/bouncycastle/asn1/crmf/PKMACValue;
ifnull 5
4: new java.lang.IllegalStateException
dup
ldc "verification requires password check"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.bouncycastle.asn1.crmf.ProofOfPossession org.bouncycastle.asn1.crmf.POPOSigningKey
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.bouncycastle.cert.crmf.CertificateRequestMessage.verifySignature:(Lorg/bouncycastle/operator/ContentVerifierProvider;Lorg/bouncycastle/asn1/crmf/POPOSigningKey;)Z
ireturn
end local 3 6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "not Signing Key type of proof of possession"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 7 1 verifierProvider Lorg/bouncycastle/operator/ContentVerifierProvider;
1 7 2 pop Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
3 6 3 popoSign Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException, java.lang.IllegalStateException
MethodParameters:
Name Flags
verifierProvider
public boolean isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider, org.bouncycastle.cert.crmf.PKMACBuilder, char[]);
descriptor: (Lorg/bouncycastle/operator/ContentVerifierProvider;Lorg/bouncycastle/cert/crmf/PKMACBuilder;[C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getPopo:()Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
astore 4
start local 4 1: aload 4
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getType:()I
iconst_1
if_icmpne 10
2: aload 4
invokevirtual org.bouncycastle.asn1.crmf.ProofOfPossession.getObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.crmf.POPOSigningKey.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
astore 5
start local 5 3: aload 5
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
ifnull 4
aload 5
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKeyInput.getSender:()Lorg/bouncycastle/asn1/x509/GeneralName;
ifnull 5
4: StackMap locals: org.bouncycastle.asn1.crmf.ProofOfPossession org.bouncycastle.asn1.crmf.POPOSigningKey
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "no PKMAC present in proof of possession"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKeyInput.getPublicKeyMAC:()Lorg/bouncycastle/asn1/crmf/PKMACValue;
astore 6
start local 6 6: new org.bouncycastle.cert.crmf.PKMACValueVerifier
dup
aload 2
invokespecial org.bouncycastle.cert.crmf.PKMACValueVerifier.<init>:(Lorg/bouncycastle/cert/crmf/PKMACBuilder;)V
astore 7
start local 7 7: aload 7
aload 6
aload 3
aload 0
invokevirtual org.bouncycastle.cert.crmf.CertificateRequestMessage.getCertTemplate:()Lorg/bouncycastle/asn1/crmf/CertTemplate;
invokevirtual org.bouncycastle.asn1.crmf.CertTemplate.getPublicKey:()Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
invokevirtual org.bouncycastle.cert.crmf.PKMACValueVerifier.isValid:(Lorg/bouncycastle/asn1/crmf/PKMACValue;[CLorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Z
ifeq 9
8: aload 0
aload 1
aload 5
invokevirtual org.bouncycastle.cert.crmf.CertificateRequestMessage.verifySignature:(Lorg/bouncycastle/operator/ContentVerifierProvider;Lorg/bouncycastle/asn1/crmf/POPOSigningKey;)Z
ireturn
9: StackMap locals: org.bouncycastle.asn1.crmf.PKMACValue org.bouncycastle.cert.crmf.PKMACValueVerifier
StackMap stack:
iconst_0
ireturn
end local 7 end local 6 end local 5 10: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "not Signing Key type of proof of possession"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 11 1 verifierProvider Lorg/bouncycastle/operator/ContentVerifierProvider;
0 11 2 macBuilder Lorg/bouncycastle/cert/crmf/PKMACBuilder;
0 11 3 password [C
1 11 4 pop Lorg/bouncycastle/asn1/crmf/ProofOfPossession;
3 10 5 popoSign Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
6 10 6 pkMAC Lorg/bouncycastle/asn1/crmf/PKMACValue;
7 10 7 macVerifier Lorg/bouncycastle/cert/crmf/PKMACValueVerifier;
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException, java.lang.IllegalStateException
MethodParameters:
Name Flags
verifierProvider
macBuilder
password
private boolean verifySignature(org.bouncycastle.operator.ContentVerifierProvider, org.bouncycastle.asn1.crmf.POPOSigningKey);
descriptor: (Lorg/bouncycastle/operator/ContentVerifierProvider;Lorg/bouncycastle/asn1/crmf/POPOSigningKey;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokeinterface org.bouncycastle.operator.ContentVerifierProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/ContentVerifier;
astore 3
start local 3 1: goto 4
end local 3 2: StackMap locals:
StackMap stack: org.bouncycastle.operator.OperatorCreationException
astore 4
start local 4 3: new org.bouncycastle.cert.crmf.CRMFException
dup
new java.lang.StringBuilder
dup
ldc "unable to create verifier: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
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 4
invokespecial org.bouncycastle.cert.crmf.CRMFException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 4: StackMap locals: org.bouncycastle.operator.ContentVerifier
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
ifnull 7
5: aload 2
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getPoposkInput:()Lorg/bouncycastle/asn1/crmf/POPOSigningKeyInput;
aload 3
invokeinterface org.bouncycastle.operator.ContentVerifier.getOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cert.crmf.CRMFUtil.derEncodeToStream:(Lorg/bouncycastle/asn1/ASN1Encodable;Ljava/io/OutputStream;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getCertReq:()Lorg/bouncycastle/asn1/crmf/CertRequest;
aload 3
invokeinterface org.bouncycastle.operator.ContentVerifier.getOutputStream:()Ljava/io/OutputStream;
invokestatic org.bouncycastle.cert.crmf.CRMFUtil.derEncodeToStream:(Lorg/bouncycastle/asn1/ASN1Encodable;Ljava/io/OutputStream;)V
8: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual org.bouncycastle.asn1.crmf.POPOSigningKey.getSignature:()Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.DERBitString.getOctets:()[B
invokeinterface org.bouncycastle.operator.ContentVerifier.verify:([B)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
0 9 1 verifierProvider Lorg/bouncycastle/operator/ContentVerifierProvider;
0 9 2 popoSign Lorg/bouncycastle/asn1/crmf/POPOSigningKey;
1 2 3 verifier Lorg/bouncycastle/operator/ContentVerifier;
4 9 3 verifier Lorg/bouncycastle/operator/ContentVerifier;
3 4 4 e Lorg/bouncycastle/operator/OperatorCreationException;
Exception table:
from to target type
0 1 2 Class org.bouncycastle.operator.OperatorCreationException
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException
MethodParameters:
Name Flags
verifierProvider
popoSign
public byte[] getEncoded();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.cert.crmf.CertificateRequestMessage.certReqMsg:Lorg/bouncycastle/asn1/crmf/CertReqMsg;
invokevirtual org.bouncycastle.asn1.crmf.CertReqMsg.getEncoded:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/crmf/CertificateRequestMessage;
Exceptions:
throws java.io.IOException
}
SourceFile: "CertificateRequestMessage.java"