The man page for OpenSSL_add_all_digests() says it is deprecated and should not be called by user code. However, EVP_DigestInit.3 says it must be used.
One of those is wrong... - todd Index: lib/libcrypto/man/EVP_DigestInit.3 =================================================================== RCS file: /cvs/src/lib/libcrypto/man/EVP_DigestInit.3,v retrieving revision 1.20 diff -u -p -u -r1.20 EVP_DigestInit.3 --- lib/libcrypto/man/EVP_DigestInit.3 5 Jan 2021 06:51:31 -0000 1.20 +++ lib/libcrypto/man/EVP_DigestInit.3 10 Sep 2021 16:30:23 -0000 @@ -506,9 +506,6 @@ return an .Vt EVP_MD structure when passed a digest name, a digest NID, or an ASN1_OBJECT structure respectively. -The digest table must be initialized using, for example, -.Xr OpenSSL_add_all_digests 3 -for these functions to work. .Pp .Fn EVP_MD_CTX_size , .Fn EVP_MD_CTX_block_size , @@ -640,8 +637,6 @@ main(int argc, char *argv[]) const char mess2[] = "Hello World\en"; unsigned char md_value[EVP_MAX_MD_SIZE]; int md_len, i; - - OpenSSL_add_all_digests(); if (argc <= 1) { printf("Usage: mdtest digestname\en");