public class EcdsaSignature extends UnwrappedEcdsaSignature
byte[] data = ...; IAIKPKCS11PrivateKey privateKey = ...; IAIKPkcs11 pkcs11Prov = ...; // calculate the hash outside the Signature engine: MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(data); byte[] digest = md.digest(); // calculate the signature Signature ecdsa = Signature.getInstance("RawECDSA", pkcs11Prov); ecdsa.initSign(privKey); ecdsa.update(digest); byte[] sigVal = signature = ecdsa.sign();The signature value (r || s) calculated on the token is wrapped into an ASN.1 SEQUENCE according to ANSI X9.62.
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
SIGNATURE_ALGORITHM_NAME
The JCA standard name of this signature algorithm.
|
buffer_
currentKeyIsSoftwareKey_, initialized_, operationState_, pkcs11OperationInitialized_, privateKey_, publicKey_, session_, SIGN, softwareDelegate_, tokenManager_, usedMechanismInfos_, usedMechanisms_, VERIFY
Constructor and Description |
---|
EcdsaSignature()
Public default constructor to enable instantiation via Class.forName(String).
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
getAlgorithmName()
Get the JCA standard name of this signautre algorithm.
|
protected byte[] |
pkcs11Sign()
Create the signature value (ANSI X9.62, same as X.509 format).
|
protected boolean |
pkcs11Verify(byte[] signature)
Verifies the given signature (ANSI X9.62, same as X.509 format).
|
getMechanism
pkcs11InitSign, pkcs11InitVerify, pkcs11Update
engineGetParameter, engineInitSign, engineInitVerify, engineSetParameter, engineSetParameter, engineSign, engineUpdate, engineUpdate, engineVerify, finalize, finalizePkcs11Operation, getUsedMechanismFeatures, getUsedMechanisms, initializePkcs11Operation, initializeSession, initializeSoftwareDelegate, isSupportedBy, pkcs11GetParameter, pkcs11SetParameter, pkcs11SetParameter, pkcs11Update
protected static java.lang.String SIGNATURE_ALGORITHM_NAME
public EcdsaSignature()
protected java.lang.String getAlgorithmName()
getAlgorithmName
in class UnwrappedEcdsaSignature
protected byte[] pkcs11Sign() throws java.security.SignatureException
pkcs11Sign
in class UnwrappedEcdsaSignature
java.security.SignatureException
- If an error occurs when creating the signature.protected boolean pkcs11Verify(byte[] signature) throws java.security.SignatureException
pkcs11Verify
in class UnwrappedEcdsaSignature
signature
- The signature bytes to be verified.true
if signature is OK, false
otherwise.java.security.SignatureException
- If an error occurs when verifying the signature.IAIK JavaSecurity Website https://jce.iaik.tugraz.at/
IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2023 IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved. Version 1.9.4