从OpenSSL 0.9.8i(VS2012)迁移至1.1.1w(VS2017)遇asn1_mac.h报错求助
OpenSSL 0.9.8i 迁移至 1.1.1w 时 asn1_mac.h 过时问题解决
在OpenSSL 1.1.1w版本中,asn1_mac.h已被彻底废弃,仅保留报错提示。旧版该文件中的宏定义已被拆分到多个标准头文件中,你可以根据代码实际用到的内容替换引用:
- 若代码使用了ASN.1字符串、编码相关的宏(如
ASN1_STRING_len、ASN1_STRING_data等),直接替换为引用#include <openssl/asn1.h> - 若涉及PKCS#12相关的宏定义,替换为
#include <openssl/pkcs12.h> - 若用到X.509证书相关的宏,替换为
#include <openssl/x509.h> - 其余原
asn1_mac.h中的通用宏,基本都已合并到#include <openssl/asn1.h>中
额外提醒:OpenSSL 1.1.1相对于0.9.8i有大量API变更,除了头文件替换,还需要检查代码中依赖旧版直接结构体访问的逻辑,这类操作在新版中大多已被封装为官方提供的访问函数,需要同步适配。
内容的提问来源于stack exchange,提问作者Aspose
相关产品推荐
相关产品推荐

