Skip to content

Commit

Permalink
fixup! EVP: Add EVP_PKEY_get_default_digest_name() and use it
Browse files Browse the repository at this point in the history
  • Loading branch information
levitte committed Jan 21, 2020
1 parent 9b227d7 commit 042281c
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions doc/man3/EVP_PKEY_get_default_digest_nid.pod
Expand Up @@ -2,31 +2,44 @@

=head1 NAME

EVP_PKEY_get_default_digest_nid - get default signature digest
EVP_PKEY_get_default_digest_nid, EVP_PKEY_get_default_digest_name
- get default signature digest

=head1 SYNOPSIS

#include <openssl/evp.h>

int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey,
char *mdname, size_t mdname_sz)
int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);

=head1 DESCRIPTION

The EVP_PKEY_get_default_digest_nid() function sets B<pnid> to the default
message digest NID for the public key signature operations associated with key
B<pkey>. Note that some signature algorithms (i.e. Ed25519 and Ed448) do not use
a digest during signing. In this case B<pnid> will be set to NID_undef.
EVP_PKEY_get_default_digest_name() fills in the default message digest
name for the public key signature operations associated with key
I<pkey> into I<mdname>, up to at most I<mdname_sz> bytes including the
ending NUL byte.

EVP_PKEY_get_default_digest_nid() sets I<pnid> to the default message
digest NID for the public key signature operations associated with key
I<pkey>. Note that some signature algorithms (i.e. Ed25519 and Ed448)
do not use a digest during signing. In this case I<pnid> will be set
to NID_undef. This function is only reliable for legacy keys, which
is keys loaded from engines, or created with internal libcrypto
implementations (B<EVP_PKEY_ASN1_METHOD>).

=head1 NOTES

For all current standard OpenSSL public key algorithms SHA256 is returned.

=head1 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 can not 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.
EVP_PKEY_get_default_digest_name() and EVP_PKEY_get_default_digest_nid()
both return 1 if the message digest is advisory (that is other digests
can be used) and 2 if it is mandatory (other digests can not be used).
They return 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.

=head1 SEE ALSO

Expand Down

0 comments on commit 042281c

Please sign in to comment.