class sun.security.mscapi.CSignature$ECDSA extends sun.security.mscapi.CSignature
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.mscapi.CSignature$ECDSA
super_class: sun.security.mscapi.CSignature
{
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "EC"
aload 1
invokespecial sun.security.mscapi.CSignature.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/mscapi/CSignature$ECDSA;
0 2 1 messageDigestAlgorithm Ljava/lang/String;
MethodParameters:
Name Flags
messageDigestAlgorithm
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 1
instanceof sun.security.mscapi.CPrivateKey
ifeq 2
1: aload 1
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 3
2: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Key type not supported"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast sun.security.mscapi.CPrivateKey
putfield sun.security.mscapi.CSignature$ECDSA.privateKey:Lsun/security/mscapi/CPrivateKey;
4: aload 0
aconst_null
putfield sun.security.mscapi.CSignature$ECDSA.publicKey:Lsun/security/mscapi/CPublicKey;
5: aload 0
invokevirtual sun.security.mscapi.CSignature$ECDSA.resetDigest:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/mscapi/CSignature$ECDSA;
0 7 1 key Ljava/security/PrivateKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
protected void engineInitVerify(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.ECPublicKey
ifne 2
1: new java.security.InvalidKeyException
dup
ldc "Key type not supported"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.security.mscapi.CPublicKey
ifne 10
3: aload 0
ldc "EC"
4: aload 1
invokestatic sun.security.mscapi.CKey.generateECBlob:(Ljava/security/Key;)[B
5: aload 1
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
6: invokestatic sun.security.mscapi.CSignature$ECDSA.importECPublicKey:(Ljava/lang/String;[BI)Lsun/security/mscapi/CPublicKey;
putfield sun.security.mscapi.CSignature$ECDSA.publicKey:Lsun/security/mscapi/CPublicKey;
7: goto 11
StackMap locals:
StackMap stack: java.security.KeyStoreException
8: astore 2
start local 2 9: new java.security.InvalidKeyException
dup
aload 2
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast sun.security.mscapi.CPublicKey
putfield sun.security.mscapi.CSignature$ECDSA.publicKey:Lsun/security/mscapi/CPublicKey;
11: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.mscapi.CSignature$ECDSA.privateKey:Lsun/security/mscapi/CPrivateKey;
12: aload 0
invokevirtual sun.security.mscapi.CSignature$ECDSA.resetDigest:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/mscapi/CSignature$ECDSA;
0 14 1 key Ljava/security/PublicKey;
9 10 2 e Ljava/security/KeyStoreException;
Exception table:
from to target type
3 7 8 Class java.security.KeyStoreException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
protected byte[] engineSign();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.mscapi.CSignature$ECDSA.getDigestValue:()[B
astore 1
start local 1 1: iconst_0
aload 1
aload 1
arraylength
2: iconst_0
3: aconst_null
4: aload 0
getfield sun.security.mscapi.CSignature$ECDSA.privateKey:Lsun/security/mscapi/CPrivateKey;
invokevirtual sun.security.mscapi.CPrivateKey.getHCryptProvider:()J
lconst_0
5: invokestatic sun.security.mscapi.CSignature$ECDSA.signCngHash:(I[BIILjava/lang/String;JJ)[B
astore 2
start local 2 6: aload 2
invokestatic sun.security.util.ECUtil.encodeSignature:([B)[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/mscapi/CSignature$ECDSA;
1 7 1 hash [B
6 7 2 raw [B
Exceptions:
throws java.security.SignatureException
protected boolean engineVerify(byte[]);
descriptor: ([B)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.mscapi.CSignature$ECDSA.getDigestValue:()[B
astore 2
start local 2 1: aload 1
invokestatic sun.security.util.ECUtil.decodeSignature:([B)[B
astore 1
2: iconst_0
3: aload 2
aload 2
arraylength
4: aload 1
aload 1
arraylength
5: iconst_0
6: aconst_null
7: aload 0
getfield sun.security.mscapi.CSignature$ECDSA.publicKey:Lsun/security/mscapi/CPublicKey;
invokevirtual sun.security.mscapi.CPublicKey.getHCryptProvider:()J
8: lconst_0
9: invokestatic sun.security.mscapi.CSignature.verifyCngSignedHash:(I[BI[BIILjava/lang/String;JJ)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/mscapi/CSignature$ECDSA;
0 10 1 sigBytes [B
1 10 2 hash [B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
sigBytes
}
SourceFile: "CSignature.java"
NestHost: sun.security.mscapi.CSignature
InnerClasses:
ECDSA = sun.security.mscapi.CSignature$ECDSA of sun.security.mscapi.CSignature