| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-13 15:49:44 +08:00
										 |  |  | EVP_PKEY_get_default_digest_nid, EVP_PKEY_get_default_digest_name | 
					
						
							|  |  |  | - get default signature digest | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  #include <openssl/evp.h> | 
					
						
							| 
									
										
										
										
											2020-01-13 15:49:44 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |  int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, | 
					
						
							| 
									
										
										
										
											2020-07-15 16:26:35 +08:00
										 |  |  |                                       char *mdname, size_t mdname_sz); | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  |  int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-13 15:49:44 +08:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-04-20 15:14:59 +08:00
										 |  |  | ending NUL byte.  The name could be C<"UNDEF">, signifying that no digest | 
					
						
							|  |  |  | should be used. | 
					
						
							| 
									
										
										
										
											2020-01-13 15:49:44 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | are keys with a B<EVP_PKEY_ASN1_METHOD>; these keys have typically | 
					
						
							|  |  |  | been loaded from engines, or created with L<EVP_PKEY_assign_RSA(3)> or | 
					
						
							|  |  |  | similar. | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 NOTES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-23 01:49:54 +08:00
										 |  |  | For all current standard OpenSSL public key algorithms SHA256 is returned. | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 RETURN VALUES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-13 15:49:44 +08:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-18 03:21:33 +08:00
										 |  |  | L<EVP_PKEY_CTX_new(3)>, | 
					
						
							|  |  |  | L<EVP_PKEY_sign(3)>, | 
					
						
							| 
									
										
										
										
											2018-10-23 01:49:54 +08:00
										 |  |  | L<EVP_PKEY_supports_digest_nid(3)>, | 
					
						
							| 
									
										
										
										
											2015-08-18 03:21:33 +08:00
										 |  |  | L<EVP_PKEY_verify(3)>, | 
					
						
							|  |  |  | L<EVP_PKEY_verify_recover(3)>, | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-09 08:02:36 +08:00
										 |  |  | This function was added in OpenSSL 1.0.0. | 
					
						
							| 
									
										
										
										
											2006-07-09 19:01:49 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-23 20:55:52 +08:00
										 |  |  | Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-06 21:04:44 +08:00
										 |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | 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 |