class org.bouncycastle.cert.crmf.PKMACValueVerifier
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.cert.crmf.PKMACValueVerifier
super_class: java.lang.Object
{
private final org.bouncycastle.cert.crmf.PKMACBuilder builder;
descriptor: Lorg/bouncycastle/cert/crmf/PKMACBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.bouncycastle.cert.crmf.PKMACBuilder);
descriptor: (Lorg/bouncycastle/cert/crmf/PKMACBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.bouncycastle.cert.crmf.PKMACValueVerifier this
start local 1 // org.bouncycastle.cert.crmf.PKMACBuilder builder
0: .line 17
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 19
aload 0 /* this */
aload 1 /* builder */
putfield org.bouncycastle.cert.crmf.PKMACValueVerifier.builder:Lorg/bouncycastle/cert/crmf/PKMACBuilder;
2: .line 20
return
end local 1 // org.bouncycastle.cert.crmf.PKMACBuilder builder
end local 0 // org.bouncycastle.cert.crmf.PKMACValueVerifier this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cert/crmf/PKMACValueVerifier;
0 3 1 builder Lorg/bouncycastle/cert/crmf/PKMACBuilder;
MethodParameters:
Name Flags
builder
public boolean isValid(org.bouncycastle.asn1.crmf.PKMACValue, char[], org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
descriptor: (Lorg/bouncycastle/asn1/crmf/PKMACValue;[CLorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 // org.bouncycastle.cert.crmf.PKMACValueVerifier this
start local 1 // org.bouncycastle.asn1.crmf.PKMACValue value
start local 2 // char[] password
start local 3 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
0: .line 25
aload 0 /* this */
getfield org.bouncycastle.cert.crmf.PKMACValueVerifier.builder:Lorg/bouncycastle/cert/crmf/PKMACBuilder;
aload 1 /* value */
invokevirtual org.bouncycastle.asn1.crmf.PKMACValue.getAlgId:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cmp.PBMParameter.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cmp/PBMParameter;
invokevirtual org.bouncycastle.cert.crmf.PKMACBuilder.setParameters:(Lorg/bouncycastle/asn1/cmp/PBMParameter;)Lorg/bouncycastle/cert/crmf/PKMACBuilder;
pop
1: .line 26
aload 0 /* this */
getfield org.bouncycastle.cert.crmf.PKMACValueVerifier.builder:Lorg/bouncycastle/cert/crmf/PKMACBuilder;
aload 2 /* password */
invokevirtual org.bouncycastle.cert.crmf.PKMACBuilder.build:([C)Lorg/bouncycastle/operator/MacCalculator;
astore 4 /* calculator */
start local 4 // org.bouncycastle.operator.MacCalculator calculator
2: .line 28
aload 4 /* calculator */
invokeinterface org.bouncycastle.operator.MacCalculator.getOutputStream:()Ljava/io/OutputStream;
astore 5 /* macOut */
start local 5 // java.io.OutputStream macOut
3: .line 32
aload 5 /* macOut */
aload 3 /* keyInfo */
ldc "DER"
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getEncoded:(Ljava/lang/String;)[B
invokevirtual java.io.OutputStream.write:([B)V
4: .line 34
aload 5 /* macOut */
invokevirtual java.io.OutputStream.close:()V
5: .line 35
goto 8
6: .line 36
StackMap locals: org.bouncycastle.cert.crmf.PKMACValueVerifier org.bouncycastle.asn1.crmf.PKMACValue char[] org.bouncycastle.asn1.x509.SubjectPublicKeyInfo org.bouncycastle.operator.MacCalculator java.io.OutputStream
StackMap stack: java.io.IOException
astore 6 /* e */
start local 6 // java.io.IOException e
7: .line 38
new org.bouncycastle.cert.crmf.CRMFException
dup
new java.lang.StringBuilder
dup
ldc "exception encoding mac input: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* e */
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 6 /* e */
invokespecial org.bouncycastle.cert.crmf.CRMFException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 // java.io.IOException e
8: .line 41
StackMap locals:
StackMap stack:
aload 4 /* calculator */
invokeinterface org.bouncycastle.operator.MacCalculator.getMac:()[B
aload 1 /* value */
invokevirtual org.bouncycastle.asn1.crmf.PKMACValue.getValue:()Lorg/bouncycastle/asn1/DERBitString;
invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
invokestatic org.bouncycastle.util.Arrays.constantTimeAreEqual:([B[B)Z
ireturn
end local 5 // java.io.OutputStream macOut
end local 4 // org.bouncycastle.operator.MacCalculator calculator
end local 3 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
end local 2 // char[] password
end local 1 // org.bouncycastle.asn1.crmf.PKMACValue value
end local 0 // org.bouncycastle.cert.crmf.PKMACValueVerifier this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/cert/crmf/PKMACValueVerifier;
0 9 1 value Lorg/bouncycastle/asn1/crmf/PKMACValue;
0 9 2 password [C
0 9 3 keyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
2 9 4 calculator Lorg/bouncycastle/operator/MacCalculator;
3 9 5 macOut Ljava/io/OutputStream;
7 8 6 e Ljava/io/IOException;
Exception table:
from to target type
3 5 6 Class java.io.IOException
Exceptions:
throws org.bouncycastle.cert.crmf.CRMFException
MethodParameters:
Name Flags
value
password
keyInfo
}
SourceFile: "PKMACValueVerifier.java"