public class sun.security.util.SignatureUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.util.SignatureUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lsun/security/util/SignatureUtil;
private static java.lang.String checkName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc "."
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 5: new java.security.ProviderException
dup
ldc "Error mapping algorithm name"
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 algName Ljava/lang/String;
5 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
Exceptions:
throws java.security.ProviderException
MethodParameters:
Name Flags
algName
private static java.security.AlgorithmParameters createAlgorithmParameters(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/security/AlgorithmParameters;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.security.util.SignatureUtil.checkName:(Ljava/lang/String;)Ljava/lang/String;
astore 0
1: aload 0
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
2: astore 2
start local 2 3: aload 2
aload 1
invokevirtual java.security.AlgorithmParameters.init:([B)V
4: aload 2
5: areturn
end local 2 6: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 7: new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 algName Ljava/lang/String;
0 8 1 paramBytes [B
3 6 2 result Ljava/security/AlgorithmParameters;
7 8 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.security.NoSuchAlgorithmException
0 5 6 Class java.io.IOException
Exceptions:
throws java.security.ProviderException
MethodParameters:
Name Flags
algName
paramBytes
public static java.security.spec.AlgorithmParameterSpec getParamSpec(java.lang.String, java.security.AlgorithmParameters);
descriptor: (Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.security.util.SignatureUtil.checkName:(Ljava/lang/String;)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 0
1: aconst_null
astore 2
start local 2 2: aload 1
ifnull 23
3: aload 1
invokevirtual java.security.AlgorithmParameters.getAlgorithm:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 10
4: aload 0
5: aload 1
invokevirtual java.security.AlgorithmParameters.getEncoded:()[B
6: invokestatic sun.security.util.SignatureUtil.createAlgorithmParameters:(Ljava/lang/String;[B)Ljava/security/AlgorithmParameters;
astore 1
7: goto 10
StackMap locals: java.lang.String java.security.AlgorithmParameters java.security.spec.AlgorithmParameterSpec
StackMap stack: java.io.IOException
8: astore 3
start local 3 9: new java.security.ProviderException
dup
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 13
11: aload 1
invokestatic sun.security.rsa.RSAUtil.getParamSpec:(Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
astore 2
12: goto 23
StackMap locals:
StackMap stack:
13: aload 0
ldc "ECDSA"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 18
14: aload 1
ldc Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
astore 2
15: goto 23
StackMap locals:
StackMap stack: java.lang.Exception
16: astore 3
start local 3 17: new java.security.ProviderException
dup
ldc "Error handling EC parameters"
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 18: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
19: new java.lang.StringBuilder
dup
ldc "Unrecognized algorithm for signature parameters "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 sigName Ljava/lang/String;
0 24 1 params Ljava/security/AlgorithmParameters;
2 24 2 paramSpec Ljava/security/spec/AlgorithmParameterSpec;
9 10 3 e Ljava/io/IOException;
17 18 3 e Ljava/lang/Exception;
Exception table:
from to target type
4 7 8 Class java.io.IOException
14 15 16 Class java.lang.Exception
Exceptions:
throws java.security.ProviderException
MethodParameters:
Name Flags
sigName
params
public static java.security.spec.AlgorithmParameterSpec getParamSpec(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.security.util.SignatureUtil.checkName:(Ljava/lang/String;)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 0
1: aconst_null
astore 2
start local 2 2: aload 1
ifnull 21
3: aload 0
ldc "RSA"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 8
4: aload 0
aload 1
invokestatic sun.security.util.SignatureUtil.createAlgorithmParameters:(Ljava/lang/String;[B)Ljava/security/AlgorithmParameters;
5: astore 3
start local 3 6: aload 3
invokestatic sun.security.rsa.RSAUtil.getParamSpec:(Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
astore 2
end local 3 7: goto 21
StackMap locals: java.security.spec.AlgorithmParameterSpec
StackMap stack:
8: aload 0
ldc "ECDSA"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 16
9: aload 0
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
astore 3
start local 3 10: aload 3
aload 1
invokestatic sun.security.util.ECUtil.getECParameterSpec:(Ljava/security/Provider;[B)Ljava/security/spec/ECParameterSpec;
astore 2
end local 3 11: goto 14
StackMap locals:
StackMap stack: java.lang.Exception
12: astore 3
start local 3 13: new java.security.ProviderException
dup
ldc "Error handling EC parameters"
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 14: StackMap locals:
StackMap stack:
aload 2
ifnonnull 21
15: new java.security.ProviderException
dup
ldc "Error handling EC parameters"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
17: new java.lang.StringBuilder
dup
ldc "Unrecognized algorithm for signature parameters "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 sigName Ljava/lang/String;
0 22 1 paramBytes [B
2 22 2 paramSpec Ljava/security/spec/AlgorithmParameterSpec;
6 7 3 params Ljava/security/AlgorithmParameters;
10 11 3 p Ljava/security/Provider;
13 14 3 e Ljava/lang/Exception;
Exception table:
from to target type
9 11 12 Class java.lang.Exception
Exceptions:
throws java.security.ProviderException
MethodParameters:
Name Flags
sigName
paramBytes
public static void initVerifyWithParam(java.security.Signature, java.security.PublicKey, java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jdk.internal.access.SharedSecrets.getJavaSecuritySignatureAccess:()Ljdk/internal/access/JavaSecuritySignatureAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.access.JavaSecuritySignatureAccess.initVerify:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/security/Signature;
0 2 1 key Ljava/security/PublicKey;
0 2 2 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.ProviderException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException
MethodParameters:
Name Flags
s
key
params
public static void initVerifyWithParam(java.security.Signature, java.security.cert.Certificate, java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/Signature;Ljava/security/cert/Certificate;Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jdk.internal.access.SharedSecrets.getJavaSecuritySignatureAccess:()Ljdk/internal/access/JavaSecuritySignatureAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.access.JavaSecuritySignatureAccess.initVerify:(Ljava/security/Signature;Ljava/security/cert/Certificate;Ljava/security/spec/AlgorithmParameterSpec;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/security/Signature;
0 2 1 cert Ljava/security/cert/Certificate;
0 2 2 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.ProviderException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException
MethodParameters:
Name Flags
s
cert
params
public static void initSignWithParam(java.security.Signature, java.security.PrivateKey, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic jdk.internal.access.SharedSecrets.getJavaSecuritySignatureAccess:()Ljdk/internal/access/JavaSecuritySignatureAccess;
aload 0
aload 1
aload 2
aload 3
invokeinterface jdk.internal.access.JavaSecuritySignatureAccess.initSign:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/security/Signature;
0 2 1 key Ljava/security/PrivateKey;
0 2 2 params Ljava/security/spec/AlgorithmParameterSpec;
0 2 3 sr Ljava/security/SecureRandom;
Exceptions:
throws java.security.ProviderException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException
MethodParameters:
Name Flags
s
key
params
sr
}
SourceFile: "SignatureUtil.java"