public abstract class java.security.Signature extends java.security.SignatureSpi
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.security.Signature
super_class: java.security.SignatureSpi
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.util.Debug pdebug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean skipDebug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String algorithm;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
java.security.Provider provider;
descriptor: Ljava/security/Provider;
flags: (0x0000)
protected static final int UNINITIALIZED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int SIGN;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected static final int VERIFY;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 3
protected int state;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private static final java.lang.String RSA_SIGNATURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONEwithRSA"
private static final java.lang.String RSA_CIPHER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "RSA/ECB/PKCS1Padding"
private static final java.util.List<sun.security.jca.ServiceId> rsaIds;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lsun/security/jca/ServiceId;>;
private static final java.util.Map<java.lang.String, java.lang.Boolean> signatureInfo;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=1, args_size=0
0: new java.security.Signature$1
dup
invokespecial java.security.Signature$1.<init>:()V
1: invokestatic jdk.internal.misc.SharedSecrets.setJavaSecuritySignatureAccess:(Ljdk/internal/misc/JavaSecuritySignatureAccess;)V
2: ldc "jca"
ldc "Signature"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
3: putstatic java.security.Signature.debug:Lsun/security/util/Debug;
4: ldc "provider"
ldc "Provider"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
5: putstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
6: ldc "engine="
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
ldc "signature"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifne 8
7: iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: putstatic java.security.Signature.skipDebug:Z
10: new sun.security.jca.ServiceId
dup
ldc "Signature"
ldc "NONEwithRSA"
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
11: new sun.security.jca.ServiceId
dup
ldc "Cipher"
ldc "RSA/ECB/PKCS1Padding"
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
12: new sun.security.jca.ServiceId
dup
ldc "Cipher"
ldc "RSA/ECB"
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
13: new sun.security.jca.ServiceId
dup
ldc "Cipher"
ldc "RSA//PKCS1Padding"
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
14: new sun.security.jca.ServiceId
dup
ldc "Cipher"
ldc "RSA"
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
15: invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
putstatic java.security.Signature.rsaIds:Ljava/util/List;
16: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic java.security.Signature.signatureInfo:Ljava/util/Map;
17: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
astore 0
start local 0 18: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.provider.DSA$RawDSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.provider.DSA$SHA1withDSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$MD2withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$MD5withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$SHA1withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$SHA256withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$SHA384withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSASignature$SHA512withRSA"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.rsa.RSAPSSSignature"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "com.sun.net.ssl.internal.ssl.RSASignature"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
ldc "sun.security.pkcs11.P11Signature"
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 29: return
LocalVariableTable:
Start End Slot Name Signature
18 29 0 TRUE Ljava/lang/Boolean;
protected void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.SignatureSpi.<init>:()V
1: aload 0
iconst_0
putfield java.security.Signature.state:I
2: aload 0
aload 1
putfield java.security.Signature.algorithm:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/security/Signature;
0 4 1 algorithm Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
public static java.security.Signature getInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Signature;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
ldc "null algorithm name"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
ldc "NONEwithRSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
2: getstatic java.security.Signature.rsaIds:Ljava/util/List;
invokestatic sun.security.jca.GetInstance.getServices:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
ldc "Signature"
aload 0
invokestatic sun.security.jca.GetInstance.getServices:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 1
start local 1 5: StackMap locals: java.util.List
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 6: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
7: new java.security.NoSuchAlgorithmException
dup
8: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Signature not available"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider$Service
astore 4
start local 4 11: aload 4
invokestatic java.security.Signature.isSpi:(Ljava/security/Provider$Service;)Z
ifeq 13
12: new java.security.Signature$Delegate
dup
aload 4
aload 2
aload 0
invokespecial java.security.Signature$Delegate.<init>:(Ljava/security/Provider$Service;Ljava/util/Iterator;Ljava/lang/String;)V
areturn
13: StackMap locals: java.lang.String java.util.List java.util.Iterator top java.security.Provider$Service
StackMap stack:
aload 4
ldc Ljava/security/SignatureSpi;
invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
14: astore 5
start local 5 15: aload 5
aload 0
invokestatic java.security.Signature.getInstance:(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
16: areturn
end local 5 17: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 5
start local 5 18: aload 5
astore 3
end local 5 end local 4 start local 3 19: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
20: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 algorithm Ljava/lang/String;
3 4 1 list Ljava/util/List<Ljava/security/Provider$Service;>;
5 21 1 list Ljava/util/List<Ljava/security/Provider$Service;>;
6 21 2 t Ljava/util/Iterator<Ljava/security/Provider$Service;>;
19 21 3 failure Ljava/security/NoSuchAlgorithmException;
11 19 4 s Ljava/security/Provider$Service;
15 17 5 instance Lsun/security/jca/GetInstance$Instance;
18 19 5 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
13 16 17 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
private static java.security.Signature getInstance(sun.security.jca.GetInstance$Instance, java.lang.String);
descriptor: (Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
instanceof java.security.Signature
ifeq 4
1: aload 0
getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
checkcast java.security.Signature
astore 2
start local 2 2: aload 2
aload 1
putfield java.security.Signature.algorithm:Ljava/lang/String;
3: goto 6
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
checkcast java.security.SignatureSpi
astore 3
start local 3 5: new java.security.Signature$Delegate
dup
aload 3
aload 1
invokespecial java.security.Signature$Delegate.<init>:(Ljava/security/SignatureSpi;Ljava/lang/String;)V
astore 2
end local 3 start local 2 6: StackMap locals: java.security.Signature
StackMap stack:
aload 2
aload 0
getfield sun.security.jca.GetInstance$Instance.provider:Ljava/security/Provider;
putfield java.security.Signature.provider:Ljava/security/Provider;
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 instance Lsun/security/jca/GetInstance$Instance;
0 8 1 algorithm Ljava/lang/String;
2 4 2 sig Ljava/security/Signature;
6 8 2 sig Ljava/security/Signature;
5 6 3 spi Ljava/security/SignatureSpi;
MethodParameters:
Name Flags
instance
algorithm
private static boolean isSpi(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "Cipher"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.Provider$Service.getClassName:()Ljava/lang/String;
astore 1
start local 1 3: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 2
start local 2 4: aload 2
ifnonnull 21
5: aload 0
aconst_null
invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 6: aload 3
instanceof java.security.SignatureSpi
ifeq 9
7: aload 3
instanceof java.security.Signature
ifne 9
8: iconst_1
goto 10
StackMap locals: java.lang.String java.lang.Boolean java.lang.Object
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 4
start local 4 11: getstatic java.security.Signature.debug:Lsun/security/util/Debug;
ifnull 16
iload 4
ifne 16
12: getstatic java.security.Signature.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Not a SignatureSpi "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: getstatic java.security.Signature.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Delayed provider selection may not be available for algorithm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 0
invokevirtual java.security.Provider$Service.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
16: StackMap locals: int
StackMap stack:
iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
17: getstatic java.security.Signature.signatureInfo:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 18: goto 21
StackMap locals: java.security.Provider$Service java.lang.String java.lang.Boolean
StackMap stack: java.lang.Exception
19: pop
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 s Ljava/security/Provider$Service;
3 22 1 className Ljava/lang/String;
4 22 2 result Ljava/lang/Boolean;
6 18 3 instance Ljava/lang/Object;
11 18 4 r Z
Exception table:
from to target type
5 18 19 Class java.lang.Exception
MethodParameters:
Name Flags
s
public static java.security.Signature getInstance(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "null algorithm name"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
ldc "NONEwithRSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
2: aload 1
ifnull 3
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "missing provider"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 2
start local 2 5: aload 2
ifnonnull 9
6: new java.security.NoSuchProviderException
dup
7: new java.lang.StringBuilder
dup
ldc "no such provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.security.Provider
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstanceRSA:(Ljava/security/Provider;)Ljava/security/Signature;
areturn
end local 2 10: StackMap locals:
StackMap stack:
ldc "Signature"
ldc Ljava/security/SignatureSpi;
aload 0
aload 1
11: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
astore 2
start local 2 12: aload 2
aload 0
invokestatic java.security.Signature.getInstance:(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 algorithm Ljava/lang/String;
0 13 1 provider Ljava/lang/String;
5 10 2 p Ljava/security/Provider;
12 13 2 instance Lsun/security/jca/GetInstance$Instance;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
MethodParameters:
Name Flags
algorithm
provider
public static java.security.Signature getInstance(java.lang.String, java.security.Provider);
descriptor: (Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "null algorithm name"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
ldc "NONEwithRSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 5
2: aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "missing provider"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokestatic java.security.Signature.getInstanceRSA:(Ljava/security/Provider;)Ljava/security/Signature;
areturn
5: StackMap locals:
StackMap stack:
ldc "Signature"
ldc Ljava/security/SignatureSpi;
aload 0
aload 1
6: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
astore 2
start local 2 7: aload 2
aload 0
invokestatic java.security.Signature.getInstance:(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 algorithm Ljava/lang/String;
0 8 1 provider Ljava/security/Provider;
7 8 2 instance Lsun/security/jca/GetInstance$Instance;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
provider
private static java.security.Signature getInstanceRSA(java.security.Provider);
descriptor: (Ljava/security/Provider;)Ljava/security/Signature;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ldc "Signature"
ldc "NONEwithRSA"
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
ldc Ljava/security/SignatureSpi;
invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
astore 2
start local 2 3: aload 2
ldc "NONEwithRSA"
invokestatic java.security.Signature.getInstance:(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
areturn
end local 2 4: StackMap locals: java.security.Provider$Service
StackMap stack:
ldc "RSA/ECB/PKCS1Padding"
aload 0
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
astore 2
start local 2 5: new java.security.Signature$Delegate
dup
new java.security.Signature$CipherAdapter
dup
aload 2
invokespecial java.security.Signature$CipherAdapter.<init>:(Ljavax/crypto/Cipher;)V
ldc "NONEwithRSA"
invokespecial java.security.Signature$Delegate.<init>:(Ljava/security/SignatureSpi;Ljava/lang/String;)V
6: areturn
end local 2 7: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 8: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "no such algorithm: NONEwithRSA for provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
10: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 p Ljava/security/Provider;
1 11 1 s Ljava/security/Provider$Service;
3 4 2 instance Lsun/security/jca/GetInstance$Instance;
5 7 2 c Ljavax/crypto/Cipher;
8 11 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
4 6 7 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
p
public final java.security.Provider getProvider();
descriptor: ()Ljava/security/Provider;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Signature.chooseFirstProvider:()V
1: aload 0
getfield java.security.Signature.provider:Ljava/security/Provider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/Signature;
private java.lang.String getProviderName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.Signature.provider:Ljava/security/Provider;
ifnonnull 1
ldc "(no provider)"
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.security.Signature.provider:Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/Signature;
void chooseFirstProvider();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/Signature;
public final void initVerify(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.Signature.engineInitVerify:(Ljava/security/PublicKey;)V
1: aload 0
iconst_3
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " verification algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 publicKey Ljava/security/PublicKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
publicKey
final void initVerify(java.security.PublicKey, java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.security.Signature.engineInitVerify:(Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
1: aload 0
iconst_3
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " verification algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 publicKey Ljava/security/PublicKey;
0 7 2 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
publicKey
params
private static java.security.PublicKey getPublicKeyFromCert(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Ljava/security/PublicKey;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
instanceof java.security.cert.X509Certificate
ifeq 8
1: aload 0
checkcast java.security.cert.X509Certificate
astore 1
start local 1 2: aload 1
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 2
start local 2 3: aload 2
ifnull 8
aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifne 8
4: aload 2
ldc "2.5.29.15"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 8
5: aload 1
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 3
start local 3 6: aload 3
ifnull 8
aload 3
iconst_0
baload
ifne 8
7: new java.security.InvalidKeyException
dup
ldc "Wrong key usage"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 cert Ljava/security/cert/Certificate;
2 8 1 c Ljava/security/cert/X509Certificate;
3 8 2 critSet Ljava/util/Set<Ljava/lang/String;>;
6 8 3 keyUsageInfo [Z
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
cert
public final void initVerify(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.security.Signature.getPublicKeyFromCert:(Ljava/security/cert/Certificate;)Ljava/security/PublicKey;
invokevirtual java.security.Signature.engineInitVerify:(Ljava/security/PublicKey;)V
1: aload 0
iconst_3
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " verification algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 certificate Ljava/security/cert/Certificate;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
certificate
final void initVerify(java.security.cert.Certificate, java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/cert/Certificate;Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic java.security.Signature.getPublicKeyFromCert:(Ljava/security/cert/Certificate;)Ljava/security/PublicKey;
aload 2
invokevirtual java.security.Signature.engineInitVerify:(Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
1: aload 0
iconst_3
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " verification algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 certificate Ljava/security/cert/Certificate;
0 7 2 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
certificate
params
public final void initSign(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.Signature.engineInitSign:(Ljava/security/PrivateKey;)V
1: aload 0
iconst_2
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " signing algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 privateKey Ljava/security/PrivateKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
privateKey
public final void initSign(java.security.PrivateKey, java.security.SecureRandom);
descriptor: (Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.security.Signature.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
1: aload 0
iconst_2
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " signing algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 privateKey Ljava/security/PrivateKey;
0 7 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
privateKey
random
final void initSign(java.security.PrivateKey, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual java.security.Signature.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
1: aload 0
iconst_2
putfield java.security.Signature.state:I
2: getstatic java.security.Signature.skipDebug:Z
ifne 6
getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
ifnull 6
3: getstatic java.security.Signature.pdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Signature."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " signing algorithm from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Signature.getProviderName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/security/Signature;
0 7 1 privateKey Ljava/security/PrivateKey;
0 7 2 params Ljava/security/spec/AlgorithmParameterSpec;
0 7 3 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
privateKey
params
random
public final byte[] sign();
descriptor: ()[B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.Signature.state:I
iconst_2
if_icmpne 2
1: aload 0
invokevirtual java.security.Signature.engineSign:()[B
areturn
2: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
ldc "object not initialized for signing"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/Signature;
Exceptions:
throws java.security.SignatureException
public final int sign(byte[], int, int);
descriptor: ([BII)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "No output buffer given"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iflt 3
iload 3
ifge 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "offset or len is less than 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
arraylength
iload 2
isub
iload 3
if_icmpge 8
5: new java.lang.IllegalArgumentException
dup
6: ldc "Output buffer too small for specified offset and length"
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield java.security.Signature.state:I
iconst_2
if_icmpeq 10
9: new java.security.SignatureException
dup
ldc "object not initialized for signing"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual java.security.Signature.engineSign:([BII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/security/Signature;
0 11 1 outbuf [B
0 11 2 offset I
0 11 3 len I
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
outbuf
offset
len
public final boolean verify(byte[]);
descriptor: ([B)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.security.Signature.state:I
iconst_3
if_icmpne 2
1: aload 0
aload 1
invokevirtual java.security.Signature.engineVerify:([B)Z
ireturn
2: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
ldc "object not initialized for verification"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/Signature;
0 3 1 signature [B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
signature
public final boolean verify(byte[], int, int);
descriptor: ([BII)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.security.Signature.state:I
iconst_3
if_icmpne 12
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "signature is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 2
iflt 4
iload 3
ifge 7
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
5: ldc "offset or length is less than 0"
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
arraylength
iload 2
isub
iload 3
if_icmpge 11
8: new java.lang.IllegalArgumentException
dup
9: ldc "signature too small for specified offset and length"
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual java.security.Signature.engineVerify:([BII)Z
ireturn
12: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
ldc "object not initialized for verification"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/security/Signature;
0 13 1 signature [B
0 13 2 offset I
0 13 3 length I
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
signature
offset
length
public final void update(byte);
descriptor: (B)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.security.Signature.state:I
iconst_3
if_icmpeq 1
aload 0
getfield java.security.Signature.state:I
iconst_2
if_icmpne 3
1: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.security.Signature.engineUpdate:(B)V
2: goto 4
3: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
ldc "object not initialized for signature or verification"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/security/Signature;
0 5 1 b B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
b
public final void update(byte[]);
descriptor: ([B)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual java.security.Signature.update:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/Signature;
0 2 1 data [B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
data
public final void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.security.Signature.state:I
iconst_2
if_icmpeq 1
aload 0
getfield java.security.Signature.state:I
iconst_3
if_icmpne 11
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "data is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 2
iflt 4
iload 3
ifge 5
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "off or len is less than 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
arraylength
iload 2
isub
iload 3
if_icmpge 9
6: new java.lang.IllegalArgumentException
dup
7: ldc "data too small for specified offset and length"
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual java.security.Signature.engineUpdate:([BII)V
10: goto 12
11: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
ldc "object not initialized for signature or verification"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/security/Signature;
0 13 1 data [B
0 13 2 off I
0 13 3 len I
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
data
off
len
public final void update(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.security.Signature.state:I
iconst_2
if_icmpeq 2
aload 0
getfield java.security.Signature.state:I
iconst_3
if_icmpeq 2
1: new java.security.SignatureException
dup
ldc "object not initialized for signature or verification"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.security.Signature.engineUpdate:(Ljava/nio/ByteBuffer;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/security/Signature;
0 6 1 data Ljava/nio/ByteBuffer;
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
data
public final java.lang.String getAlgorithm();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.Signature.algorithm:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/Signature;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc ""
astore 1
start local 1 1: aload 0
getfield java.security.Signature.state:I
tableswitch { // 0 - 3
0: 2
1: 7
2: 6
3: 4
default: 7
}
2: StackMap locals: java.lang.String
StackMap stack:
ldc "<not initialized>"
astore 1
3: goto 7
4: StackMap locals:
StackMap stack:
ldc "<initialized for verifying>"
astore 1
5: goto 7
6: StackMap locals:
StackMap stack:
ldc "<initialized for signing>"
astore 1
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Signature object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/security/Signature;
1 8 1 initState Ljava/lang/String;
public final void setParameter(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.security.Signature.engineSetParameter:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/Signature;
0 2 1 param Ljava/lang/String;
0 2 2 value Ljava/lang/Object;
Exceptions:
throws java.security.InvalidParameterException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
param
value
public final void setParameter(java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.Signature.engineSetParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/Signature;
0 2 1 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
public final java.security.AlgorithmParameters getParameters();
descriptor: ()Ljava/security/AlgorithmParameters;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Signature.engineGetParameters:()Ljava/security/AlgorithmParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/Signature;
public final java.lang.Object getParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.Signature.engineGetParameter:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/Signature;
0 1 1 param Ljava/lang/String;
Exceptions:
throws java.security.InvalidParameterException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
param
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Cloneable
ifeq 2
1: aload 0
invokespecial java.security.SignatureSpi.clone:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.CloneNotSupportedException
dup
invokespecial java.lang.CloneNotSupportedException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/Signature;
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "Signature.java"
NestMembers:
java.security.Signature$1 java.security.Signature$CipherAdapter java.security.Signature$Delegate
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider
java.security.Signature$1
private CipherAdapter = java.security.Signature$CipherAdapter of java.security.Signature
private Delegate = java.security.Signature$Delegate of java.security.Signature
public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance