abstract class sun.security.ec.ECDSASignature extends java.security.SignatureSpi
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.security.ec.ECDSASignature
super_class: java.security.SignatureSpi
{
private final java.security.MessageDigest messageDigest;
descriptor: Ljava/security/MessageDigest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private boolean needsReset;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.interfaces.ECPrivateKey privateKey;
descriptor: Ljava/security/interfaces/ECPrivateKey;
flags: (0x0002) ACC_PRIVATE
private java.security.interfaces.ECPublicKey publicKey;
descriptor: Ljava/security/interfaces/ECPublicKey;
flags: (0x0002) ACC_PRIVATE
private final boolean p1363Format;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokespecial sun.security.ec.ECDSASignature.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/ECDSASignature;
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
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
aconst_null
putfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
2: aload 0
iload 1
putfield sun.security.ec.ECDSASignature.p1363Format:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ec/ECDSASignature;
0 4 1 p1363Format Z
MethodParameters:
Name Flags
p1363Format
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial sun.security.ec.ECDSASignature.<init>:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/ECDSASignature;
0 2 1 digestName Ljava/lang/String;
MethodParameters:
Name Flags
digestName
void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.security.SignatureSpi.<init>:()V
1: aload 0
aload 1
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
putfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
2: goto 5
StackMap locals: sun.security.ec.ECDSASignature java.lang.String int
StackMap stack: java.security.NoSuchAlgorithmException
3: astore 3
start local 3 4: new java.security.ProviderException
dup
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 5: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.ec.ECDSASignature.needsReset:Z
6: aload 0
iload 2
putfield sun.security.ec.ECDSASignature.p1363Format:Z
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ec/ECDSASignature;
0 8 1 digestName Ljava/lang/String;
0 8 2 p1363Format Z
4 5 3 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
1 2 3 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
digestName
p1363Format
protected void engineInitVerify(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.security.ec.ECKeyFactory.toECKey:(Ljava/security/Key;)Ljava/security/interfaces/ECKey;
checkcast java.security.interfaces.ECPublicKey
putfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
1: aload 0
aconst_null
putfield sun.security.ec.ECDSASignature.privateKey:Ljava/security/interfaces/ECPrivateKey;
2: aload 0
invokevirtual sun.security.ec.ECDSASignature.resetDigest:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ec/ECDSASignature;
0 4 1 publicKey Ljava/security/PublicKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
publicKey
protected void engineInitSign(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual sun.security.ec.ECDSASignature.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/ECDSASignature;
0 2 1 privateKey Ljava/security/PrivateKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
privateKey
protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom);
descriptor: (Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic sun.security.ec.ECKeyFactory.toECKey:(Ljava/security/Key;)Ljava/security/interfaces/ECKey;
checkcast java.security.interfaces.ECPrivateKey
putfield sun.security.ec.ECDSASignature.privateKey:Ljava/security/interfaces/ECPrivateKey;
1: aload 0
aconst_null
putfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
2: aload 0
aload 2
putfield sun.security.ec.ECDSASignature.random:Ljava/security/SecureRandom;
3: aload 0
invokevirtual sun.security.ec.ECDSASignature.resetDigest:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ec/ECDSASignature;
0 5 1 privateKey Ljava/security/PrivateKey;
0 5 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
privateKey
random
protected void resetDigest();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ec.ECDSASignature.needsReset:Z
ifeq 4
1: aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
ifnull 3
2: aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.reset:()V
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.ec.ECDSASignature.needsReset:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ec/ECDSASignature;
protected byte[] getDigestValue();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.security.ec.ECDSASignature.needsReset:Z
1: aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/ECDSASignature;
Exceptions:
throws java.security.SignatureException
protected void engineUpdate(byte);
descriptor: (B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
iload 1
invokevirtual java.security.MessageDigest.update:(B)V
1: aload 0
iconst_1
putfield sun.security.ec.ECDSASignature.needsReset:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/ECDSASignature;
0 3 1 b B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
b
protected void engineUpdate(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
aload 1
iload 2
iload 3
invokevirtual java.security.MessageDigest.update:([BII)V
1: aload 0
iconst_1
putfield sun.security.ec.ECDSASignature.needsReset:Z
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/ECDSASignature;
0 3 1 b [B
0 3 2 off I
0 3 3 len I
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
b
off
len
protected void engineUpdate(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 1: iload 2
ifgt 3
2: return
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ec.ECDSASignature.messageDigest:Ljava/security/MessageDigest;
aload 1
invokevirtual java.security.MessageDigest.update:(Ljava/nio/ByteBuffer;)V
4: aload 0
iconst_1
putfield sun.security.ec.ECDSASignature.needsReset:Z
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ec/ECDSASignature;
0 6 1 byteBuffer Ljava/nio/ByteBuffer;
1 6 2 len I
MethodParameters:
Name Flags
byteBuffer
protected byte[] engineSign();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.security.ec.ECDSASignature.privateKey:Ljava/security/interfaces/ECPrivateKey;
invokeinterface java.security.interfaces.ECPrivateKey.getS:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 1
start local 1 1: aload 0
getfield sun.security.ec.ECDSASignature.privateKey:Ljava/security/interfaces/ECPrivateKey;
invokeinterface java.security.interfaces.ECPrivateKey.getParams:()Ljava/security/spec/ECParameterSpec;
astore 2
start local 2 2: aconst_null
aload 2
invokestatic sun.security.util.ECUtil.encodeECParameterSpec:(Ljava/security/Provider;Ljava/security/spec/ECParameterSpec;)[B
astore 3
start local 3 3: aload 2
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
invokeinterface java.security.spec.ECField.getFieldSize:()I
istore 4
start local 4 4: iload 4
bipush 7
iadd
iconst_3
ishr
iconst_1
iadd
iconst_2
imul
newarray 8
astore 5
start local 5 5: aload 0
getfield sun.security.ec.ECDSASignature.random:Ljava/security/SecureRandom;
ifnonnull 7
6: aload 0
invokestatic sun.security.jca.JCAUtil.getSecureRandom:()Ljava/security/SecureRandom;
putfield sun.security.ec.ECDSASignature.random:Ljava/security/SecureRandom;
7: StackMap locals: sun.security.ec.ECDSASignature byte[] java.security.spec.ECParameterSpec byte[] int byte[]
StackMap stack:
aload 0
getfield sun.security.ec.ECDSASignature.random:Ljava/security/SecureRandom;
aload 5
invokevirtual java.security.SecureRandom.nextBytes:([B)V
8: aload 0
getfield sun.security.ec.ECDSASignature.random:Ljava/security/SecureRandom;
invokevirtual java.security.SecureRandom.nextInt:()I
istore 6
start local 6 9: iload 6
iconst_1
ior
istore 6
10: aload 0
invokevirtual sun.security.ec.ECDSASignature.getDigestValue:()[B
aload 1
aload 3
aload 5
11: iload 6
12: invokestatic sun.security.ec.ECDSASignature.signDigest:([B[B[B[BI)[B
astore 7
start local 7 13: goto 16
end local 7 StackMap locals: sun.security.ec.ECDSASignature byte[] java.security.spec.ECParameterSpec byte[] int byte[] int
StackMap stack: java.security.GeneralSecurityException
14: astore 8
start local 8 15: new java.security.SignatureException
dup
ldc "Could not sign data"
aload 8
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 start local 7 16: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.ec.ECDSASignature.p1363Format:Z
ifeq 18
17: aload 7
areturn
18: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual sun.security.ec.ECDSASignature.encodeSignature:([B)[B
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/ec/ECDSASignature;
1 19 1 s [B
2 19 2 params Ljava/security/spec/ECParameterSpec;
3 19 3 encodedParams [B
4 19 4 keySize I
5 19 5 seed [B
9 19 6 timingArgument I
13 14 7 sig [B
16 19 7 sig [B
15 16 8 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
10 13 14 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.SignatureException
protected boolean engineVerify(byte[]);
descriptor: ([B)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
astore 3
start local 3 1: aconst_null
aload 3
invokestatic sun.security.util.ECUtil.encodeECParameterSpec:(Ljava/security/Provider;Ljava/security/spec/ECParameterSpec;)[B
astore 4
start local 4 2: aload 0
getfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
instanceof sun.security.ec.ECPublicKeyImpl
ifeq 5
3: aload 0
getfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
checkcast sun.security.ec.ECPublicKeyImpl
invokevirtual sun.security.ec.ECPublicKeyImpl.getEncodedPublicValue:()[B
astore 2
start local 2 4: goto 6
end local 2 5: StackMap locals: sun.security.ec.ECDSASignature byte[] top java.security.spec.ECParameterSpec byte[]
StackMap stack:
aload 0
getfield sun.security.ec.ECDSASignature.publicKey:Ljava/security/interfaces/ECPublicKey;
invokeinterface java.security.interfaces.ECPublicKey.getW:()Ljava/security/spec/ECPoint;
aload 3
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokestatic sun.security.util.ECUtil.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
astore 2
start local 2 6: StackMap locals: sun.security.ec.ECDSASignature byte[] byte[] java.security.spec.ECParameterSpec byte[]
StackMap stack:
aload 0
getfield sun.security.ec.ECDSASignature.p1363Format:Z
ifeq 9
7: aload 1
astore 5
start local 5 8: goto 10
end local 5 9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ec.ECDSASignature.decodeSignature:([B)[B
astore 5
start local 5 10: StackMap locals: byte[]
StackMap stack:
aload 5
aload 0
invokevirtual sun.security.ec.ECDSASignature.getDigestValue:()[B
aload 2
aload 4
invokestatic sun.security.ec.ECDSASignature.verifySignedDigest:([B[B[B[B)Z
11: ireturn
12: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 6
start local 6 13: new java.security.SignatureException
dup
ldc "Could not verify signature"
aload 6
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ec/ECDSASignature;
0 14 1 signature [B
4 5 2 w [B
6 14 2 w [B
1 14 3 params Ljava/security/spec/ECParameterSpec;
2 14 4 encodedParams [B
8 9 5 sig [B
10 14 5 sig [B
13 14 6 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
10 11 12 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
signature
protected void engineSetParameter(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
ldc "setParameter() not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECDSASignature;
0 1 1 param Ljava/lang/String;
0 1 2 value Ljava/lang/Object;
Exceptions:
throws java.security.InvalidParameterException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
param
value
protected java.lang.Object engineGetParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "getParameter() not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECDSASignature;
0 1 1 param Ljava/lang/String;
Exceptions:
throws java.security.InvalidParameterException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
param
private byte[] encodeSignature(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
ishr
istore 2
start local 2 1: iload 2
newarray 8
astore 3
start local 3 2: aload 1
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: new java.math.BigInteger
dup
iconst_1
aload 3
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 4
start local 4 4: aload 1
iload 2
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: new java.math.BigInteger
dup
iconst_1
aload 3
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 5
start local 5 6: new sun.security.util.DerOutputStream
dup
aload 1
arraylength
bipush 10
iadd
invokespecial sun.security.util.DerOutputStream.<init>:(I)V
astore 6
start local 6 7: aload 6
aload 4
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
8: aload 6
aload 5
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
9: new sun.security.util.DerValue
dup
bipush 48
aload 6
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
invokespecial sun.security.util.DerValue.<init>:(B[B)V
10: astore 7
start local 7 11: aload 7
invokevirtual sun.security.util.DerValue.toByteArray:()[B
12: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 14: new java.security.SignatureException
dup
ldc "Could not encode signature"
aload 2
invokespecial java.security.SignatureException.<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 15 0 this Lsun/security/ec/ECDSASignature;
0 15 1 signature [B
1 13 2 n I
2 13 3 bytes [B
4 13 4 r Ljava/math/BigInteger;
6 13 5 s Ljava/math/BigInteger;
7 13 6 out Lsun/security/util/DerOutputStream;
11 13 7 result Lsun/security/util/DerValue;
14 15 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 12 13 Class java.lang.Exception
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
signature
private byte[] decodeSignature(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: new sun.security.util.DerInputStream
dup
aload 1
iconst_0
aload 1
arraylength
iconst_0
invokespecial sun.security.util.DerInputStream.<init>:([BIIZ)V
astore 2
start local 2 1: aload 2
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 2: aload 3
arraylength
iconst_2
if_icmpne 3
aload 2
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 4
3: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
new java.io.IOException
dup
ldc "Invalid encoding for signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 4
start local 4 5: aload 3
iconst_1
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 5
start local 5 6: aload 4
invokevirtual java.math.BigInteger.toByteArray:()[B
invokestatic sun.security.ec.ECDSASignature.trimZeroes:([B)[B
astore 6
start local 6 7: aload 5
invokevirtual java.math.BigInteger.toByteArray:()[B
invokestatic sun.security.ec.ECDSASignature.trimZeroes:([B)[B
astore 7
start local 7 8: aload 6
arraylength
aload 7
arraylength
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 9: iload 8
iconst_1
ishl
newarray 8
astore 9
start local 9 10: aload 6
iconst_0
aload 9
iload 8
aload 6
arraylength
isub
11: aload 6
arraylength
12: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 7
iconst_0
aload 9
aload 9
arraylength
aload 7
arraylength
isub
14: aload 7
arraylength
15: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 9
17: areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 18: StackMap locals: sun.security.ec.ECDSASignature byte[]
StackMap stack: java.lang.Exception
astore 2
start local 2 19: new java.security.SignatureException
dup
ldc "Invalid encoding for signature"
aload 2
invokespecial java.security.SignatureException.<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 20 0 this Lsun/security/ec/ECDSASignature;
0 20 1 sig [B
1 18 2 in Lsun/security/util/DerInputStream;
2 18 3 values [Lsun/security/util/DerValue;
5 18 4 r Ljava/math/BigInteger;
6 18 5 s Ljava/math/BigInteger;
7 18 6 rBytes [B
8 18 7 sBytes [B
9 18 8 k I
10 18 9 result [B
19 20 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 17 18 Class java.lang.Exception
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
sig
private static byte[] trimZeroes(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 1
3: StackMap locals:
StackMap stack:
iload 1
aload 0
arraylength
iconst_1
isub
if_icmpge 4
aload 0
iload 1
baload
ifeq 2
4: StackMap locals:
StackMap stack:
iload 1
ifne 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 0
arraylength
iload 1
isub
newarray 8
astore 2
start local 2 7: aload 0
iload 1
aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 b [B
1 9 1 i I
7 9 2 t [B
MethodParameters:
Name Flags
b
private static native byte[] signDigest(byte[], byte[], byte[], byte[], int);
descriptor: ([B[B[B[BI)[B
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
digest
s
encodedParams
seed
timing
private static native boolean verifySignedDigest(byte[], byte[], byte[], byte[]);
descriptor: ([B[B[B[B)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
signature
digest
w
encodedParams
}
SourceFile: "ECDSASignature.java"
NestMembers:
sun.security.ec.ECDSASignature$Raw sun.security.ec.ECDSASignature$RawECDSA sun.security.ec.ECDSASignature$RawinP1363Format sun.security.ec.ECDSASignature$SHA1 sun.security.ec.ECDSASignature$SHA1inP1363Format sun.security.ec.ECDSASignature$SHA224 sun.security.ec.ECDSASignature$SHA224inP1363Format sun.security.ec.ECDSASignature$SHA256 sun.security.ec.ECDSASignature$SHA256inP1363Format sun.security.ec.ECDSASignature$SHA384 sun.security.ec.ECDSASignature$SHA384inP1363Format sun.security.ec.ECDSASignature$SHA512 sun.security.ec.ECDSASignature$SHA512inP1363Format
InnerClasses:
public final Raw = sun.security.ec.ECDSASignature$Raw of sun.security.ec.ECDSASignature
RawECDSA = sun.security.ec.ECDSASignature$RawECDSA of sun.security.ec.ECDSASignature
public final RawinP1363Format = sun.security.ec.ECDSASignature$RawinP1363Format of sun.security.ec.ECDSASignature
public final SHA1 = sun.security.ec.ECDSASignature$SHA1 of sun.security.ec.ECDSASignature
public final SHA1inP1363Format = sun.security.ec.ECDSASignature$SHA1inP1363Format of sun.security.ec.ECDSASignature
public final SHA224 = sun.security.ec.ECDSASignature$SHA224 of sun.security.ec.ECDSASignature
public final SHA224inP1363Format = sun.security.ec.ECDSASignature$SHA224inP1363Format of sun.security.ec.ECDSASignature
public final SHA256 = sun.security.ec.ECDSASignature$SHA256 of sun.security.ec.ECDSASignature
public final SHA256inP1363Format = sun.security.ec.ECDSASignature$SHA256inP1363Format of sun.security.ec.ECDSASignature
public final SHA384 = sun.security.ec.ECDSASignature$SHA384 of sun.security.ec.ECDSASignature
public final SHA384inP1363Format = sun.security.ec.ECDSASignature$SHA384inP1363Format of sun.security.ec.ECDSASignature
public final SHA512 = sun.security.ec.ECDSASignature$SHA512 of sun.security.ec.ECDSASignature
public final SHA512inP1363Format = sun.security.ec.ECDSASignature$SHA512inP1363Format of sun.security.ec.ECDSASignature