Subject: | Proposal for adding more hash/digest functions |
Hi,
my proposal is to replace:
- #if OPENSSL_VERSION_NUMBER >= 0x0090800fL
- #ifndef OPENSSL_NO_SHA256
-
- const EVP_MD *EVP_sha256()
-
- #endif
- #endif
with the following code:
#ifndef OPENSSL_NO_MD5
const EVP_MD *EVP_md5()
#endif
#ifndef OPENSSL_NO_SHA
const EVP_MD *EVP_sha()
const EVP_MD *EVP_sha1()
#endif
#if !defined(OPENSSL_NO_SHA256) && OPENSSL_VERSION_NUMBER >= 0x0090800fL
const EVP_MD *EVP_sha224()
const EVP_MD *EVP_sha256()
#endif
#if !defined(OPENSSL_NO_SHA512) && OPENSSL_VERSION_NUMBER >= 0x0090800fL
const EVP_MD *EVP_sha384()
const EVP_MD *EVP_sha512()
#endif
#ifndef OPENSSL_NO_RIPEMD
const EVP_MD *EVP_ripemd160()
#endif
#if !defined(OPENSSL_NO_WHIRLPOOL) && OPENSSL_VERSION_NUMBER >= 0x10000000L
const EVP_MD *EVP_whirlpool()
#endif
I am not sure if some other functions might also be good for something/someone
EVP_MD *EVP_md_null(void);
EVP_MD *EVP_md2(void);
EVP_MD *EVP_md4(void);
EVP_MD *EVP_dss(void);
EVP_MD *EVP_dss1(void);
EVP_MD *EVP_ecdsa(void);
EVP_MD *EVP_mdc2(void);
to me these are too exotic and not frequently used but you might have another view.
--
kmx
my proposal is to replace:
- #if OPENSSL_VERSION_NUMBER >= 0x0090800fL
- #ifndef OPENSSL_NO_SHA256
-
- const EVP_MD *EVP_sha256()
-
- #endif
- #endif
with the following code:
#ifndef OPENSSL_NO_MD5
const EVP_MD *EVP_md5()
#endif
#ifndef OPENSSL_NO_SHA
const EVP_MD *EVP_sha()
const EVP_MD *EVP_sha1()
#endif
#if !defined(OPENSSL_NO_SHA256) && OPENSSL_VERSION_NUMBER >= 0x0090800fL
const EVP_MD *EVP_sha224()
const EVP_MD *EVP_sha256()
#endif
#if !defined(OPENSSL_NO_SHA512) && OPENSSL_VERSION_NUMBER >= 0x0090800fL
const EVP_MD *EVP_sha384()
const EVP_MD *EVP_sha512()
#endif
#ifndef OPENSSL_NO_RIPEMD
const EVP_MD *EVP_ripemd160()
#endif
#if !defined(OPENSSL_NO_WHIRLPOOL) && OPENSSL_VERSION_NUMBER >= 0x10000000L
const EVP_MD *EVP_whirlpool()
#endif
I am not sure if some other functions might also be good for something/someone
EVP_MD *EVP_md_null(void);
EVP_MD *EVP_md2(void);
EVP_MD *EVP_md4(void);
EVP_MD *EVP_dss(void);
EVP_MD *EVP_dss1(void);
EVP_MD *EVP_ecdsa(void);
EVP_MD *EVP_mdc2(void);
to me these are too exotic and not frequently used but you might have another view.
--
kmx