在 Mac OS X10.7 上编译我的一个源文件并收到这些弃用警告:
xxx_evp.c:135:5: 'EVP_MD_CTX_init' is deprecated
xxx_evp.c:137:9: 'EVP_DigestInit_ex' is deprecated
xxx_evp.c:177:9: 'EVP_DigestUpdate' is deprecated
xxx_evp.c:227:13: 'EVP_DigestFinal_ex' is deprecated
xxx_evp.c:235:5: 'EVP_MD_CTX_cleanup' is deprecated
我有另一组 OpenSSL 弃用警告,我在其中使用 MD5 函数,openssl/md5.h
并且能够切换到 OpenSSL 调用的 CommonCrypto 版本,如下所示:
#if defined(__APPLE__)
# define COMMON_DIGEST_FOR_OPENSSL
# include <CommonCrypto/CommonDigest.h>
#else
# include <openssl/md5.h>
#endif
但是我找不到任何关于与这些EVP_*
调用相关的任何类型的 OpenSSL 兼容性的任何信息。对于这些 OpenSSLEVP_*
调用,我可以做一些类似的事情来获得 OS X 10.7 上的“免费”兼容性支持吗?