NAME
EVP_PKEY_get_default_digest_nid
—
get default signature digest
SYNOPSIS
#include
<openssl/evp.h>
int
EVP_PKEY_get_default_digest_nid
(EVP_PKEY
*pkey, int *pnid);
DESCRIPTION
The
EVP_PKEY_get_default_digest_nid
()
function sets *pnid to the default message digest NID
for the public key signature operations associated with
pkey.
Some signature algorithms, for example
EVP_PKEY_ED25519
, do not use a digest during
signing. In this case, *pnid is set to
NID_undef
.
Support for the following public key algorithms is built into the library:
EVP_PKEY_base_id(3) | *pnid | return value |
EVP_PKEY_DSA |
NID_sha1 |
mandatory |
EVP_PKEY_EC |
NID_sha1 |
mandatory |
EVP_PKEY_ED25519 |
NID_undef |
mandatory |
EVP_PKEY_HMAC |
NID_sha1 |
advisory |
EVP_PKEY_RSA |
NID_sha256 |
advisory |
RETURN VALUES
The EVP_PKEY_get_default_digest_nid
()
function returns 1 if the message digest is advisory (that is other digests
can be used) and 2 if it is mandatory (other digests cannot be used). It
returns 0 or a negative value for failure. In particular, a return value of
-2 indicates the operation is not supported by the public key algorithm.
SEE ALSO
EVP_PKEY_asn1_set_ctrl(3), EVP_PKEY_CTX_ctrl(3), EVP_PKEY_CTX_new(3), EVP_PKEY_new(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3)
HISTORY
EVP_PKEY_get_default_digest_nid
() first
appeared in OpenSSL 1.0.0 and has been available since
OpenBSD 4.9.