Add single call public key sign and verify functions.
This commit is contained in:
@@ -87,3 +87,28 @@ int FIPS_ecdsa_verify_ctx(EC_KEY *key, EVP_MD_CTX *ctx, ECDSA_SIG *s)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int FIPS_ecdsa_verify(EC_KEY *key, const unsigned char *msg, size_t msglen,
|
||||
const EVP_MD *mhash, ECDSA_SIG *s)
|
||||
{
|
||||
int ret=-1;
|
||||
unsigned char dig[EVP_MAX_MD_SIZE];
|
||||
unsigned int dlen;
|
||||
FIPS_digest(msg, msglen, dig, &dlen, mhash);
|
||||
ret=FIPS_ecdsa_verify_digest(key, dig, dlen, s);
|
||||
OPENSSL_cleanse(dig, dlen);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ECDSA_SIG * FIPS_ecdsa_sign(EC_KEY *key,
|
||||
const unsigned char *msg, size_t msglen,
|
||||
const EVP_MD *mhash)
|
||||
{
|
||||
ECDSA_SIG *s;
|
||||
unsigned char dig[EVP_MAX_MD_SIZE];
|
||||
unsigned int dlen;
|
||||
FIPS_digest(msg, msglen, dig, &dlen, mhash);
|
||||
s = FIPS_dsa_sign_digest(key, dig, dlen);
|
||||
OPENSSL_cleanse(dig, dlen);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user