Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix nightly manual

This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.

EVP_PKEY_GET_DEFAULT_DIGEST_NID(3) Library Functions Manual EVP_PKEY_GET_DEFAULT_DIGEST_NID(3)

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.

April 18, 2024 Sortix 1.1.0-dev
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org