class org.bouncycastle.jce.provider.X509SignatureUtil
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.jce.provider.X509SignatureUtil
super_class: java.lang.Object
{
private static final org.bouncycastle.asn1.ASN1Null derNull;
descriptor: Lorg/bouncycastle/asn1/ASN1Null;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bouncycastle.asn1.DERNull
dup
invokespecial org.bouncycastle.asn1.DERNull.<init>:()V
putstatic org.bouncycastle.jce.provider.X509SignatureUtil.derNull:Lorg/bouncycastle/asn1/ASN1Null;
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/jce/provider/X509SignatureUtil;
static void setSignatureParameters(java.security.Signature, org.bouncycastle.asn1.DEREncodable);
descriptor: (Ljava/security/Signature;Lorg/bouncycastle/asn1/DEREncodable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 11
getstatic org.bouncycastle.jce.provider.X509SignatureUtil.derNull:Lorg/bouncycastle/asn1/ASN1Null;
aload 1
invokevirtual org.bouncycastle.asn1.ASN1Null.equals:(Ljava/lang/Object;)Z
ifne 11
1: aload 0
invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
aload 0
invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;
astore 2
start local 2 2: aload 2
aload 1
invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
invokevirtual org.bouncycastle.asn1.DERObject.getDEREncoded:()[B
invokevirtual java.security.AlgorithmParameters.init:([B)V
3: goto 6
4: StackMap locals: java.security.Signature org.bouncycastle.asn1.DEREncodable java.security.AlgorithmParameters
StackMap stack: java.io.IOException
astore 3
start local 3 5: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "IOException decoding parameters: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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;
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
ldc "MGF1"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 11
7: aload 0
aload 2
ldc Ljava/security/spec/PSSParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
8: goto 11
9: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 3
start local 3 10: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "Exception extracting parameters: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.security.GeneralSecurityException.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.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 signature Ljava/security/Signature;
0 12 1 params Lorg/bouncycastle/asn1/DEREncodable;
2 11 2 sigParams Ljava/security/AlgorithmParameters;
5 6 3 e Ljava/io/IOException;
10 11 3 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
7 8 9 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException, java.security.InvalidKeyException
MethodParameters:
Name Flags
signature
params
static java.lang.String getSignatureName(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/DEREncodable;
astore 1
start local 1 1: aload 1
ifnull 8
getstatic org.bouncycastle.jce.provider.X509SignatureUtil.derNull:Lorg/bouncycastle/asn1/ASN1Null;
aload 1
invokevirtual org.bouncycastle.asn1.ASN1Null.equals:(Ljava/lang/Object;)Z
ifne 8
2: aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_RSASSA_PSS:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 1
invokestatic org.bouncycastle.asn1.pkcs.RSASSAPSSparams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/RSASSAPSSparams;
astore 2
start local 2 4: new java.lang.StringBuilder
dup
aload 2
invokevirtual org.bouncycastle.asn1.pkcs.RSASSAPSSparams.getHashAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokestatic org.bouncycastle.jce.provider.X509SignatureUtil.getDigestAlgName:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "withRSAandMGF1"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 5: StackMap locals: org.bouncycastle.asn1.DEREncodable
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
getstatic org.bouncycastle.asn1.x9.X9ObjectIdentifiers.ecdsa_with_SHA2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 1
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
astore 2
start local 2 7: new java.lang.StringBuilder
dup
aload 2
iconst_0
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
checkcast org.bouncycastle.asn1.DERObjectIdentifier
invokestatic org.bouncycastle.jce.provider.X509SignatureUtil.getDigestAlgName:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "withECDSA"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getObjectId:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sigAlgId Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
1 9 1 params Lorg/bouncycastle/asn1/DEREncodable;
4 5 2 rsaParams Lorg/bouncycastle/asn1/pkcs/RSASSAPSSparams;
7 8 2 ecDsaParams Lorg/bouncycastle/asn1/ASN1Sequence;
MethodParameters:
Name Flags
sigAlgId
private static java.lang.String getDigestAlgName(org.bouncycastle.asn1.DERObjectIdentifier);
descriptor: (Lorg/bouncycastle/asn1/DERObjectIdentifier;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.md5:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc "MD5"
areturn
2: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.oiw.OIWObjectIdentifiers.idSHA1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "SHA1"
areturn
4: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha224:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 6
5: ldc "SHA224"
areturn
6: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 8
7: ldc "SHA256"
areturn
8: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha384:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 10
9: ldc "SHA384"
areturn
10: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 12
11: ldc "SHA512"
areturn
12: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers.ripemd128:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 14
13: ldc "RIPEMD128"
areturn
14: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers.ripemd160:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 16
15: ldc "RIPEMD160"
areturn
16: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers.ripemd256:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 18
17: ldc "RIPEMD256"
areturn
18: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3411:Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 20
19: ldc "GOST3411"
areturn
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 digestAlgOID Lorg/bouncycastle/asn1/DERObjectIdentifier;
MethodParameters:
Name Flags
digestAlgOID
}
SourceFile: "X509SignatureUtil.java"