ecbb2fca93
Rather than relying only on mandatory default digests, add a way for the EVP_PKEY to individually report whether each digest algorithm is supported. Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7408)
53 lines
1.5 KiB
Text
53 lines
1.5 KiB
Text
=pod
|
|
|
|
=head1 NAME
|
|
|
|
EVP_PKEY_supports_digest_nid - indicate support for signature digest
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/evp.h>
|
|
int EVP_PKEY_supports_digest_nid(EVP_PKEY *pkey, int nid);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The EVP_PKEY_supports_digest_nid() function queries whether the message digest
|
|
NID B<nid> is supported for public key signature operations associated with key
|
|
B<pkey>.
|
|
|
|
=head1 NOTES
|
|
|
|
If the EVP_PKEY implementation does not explicitly support this method, but
|
|
L<EVP_PKEY_get_default_digest_nid(3)> returns a mandatory digest result, then
|
|
only that mandatory digest will be supported.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
The EVP_PKEY_supports_digest_nid() function returns 1 if the message digest
|
|
algorithm identified by B<nid> can be used for public key signature operations
|
|
associated with key B<pkey> and 0 if it cannot be used. It returns a negative
|
|
value for failure. In particular a return value of -2 indicates the query
|
|
operation is not supported by the public key algorithm.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<EVP_PKEY_CTX_new(3)>,
|
|
L<EVP_PKEY_get_default_digest_nid(3)>,
|
|
L<EVP_PKEY_sign(3)>,
|
|
L<EVP_PKEY_verify(3)>,
|
|
L<EVP_PKEY_verify_recover(3)>,
|
|
|
|
=head1 HISTORY
|
|
|
|
This function was first added to OpenSSL 1.1.2.
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the OpenSSL license (the "License"). You may not use
|
|
this file except in compliance with the License. You can obtain a copy
|
|
in the file LICENSE in the source distribution or at
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
=cut
|