从.p12文件提取证书和密钥时遇OpenSSL错误求助
问题
在Windows系统使用OpenSSL 3.0.7版本执行以下命令提取.p12文件中的证书和密钥:
openssl pkcs12 -info -in certificate.p12 -nodes
输入密码后出现报错:
Error outputting keys and certificates 1C400000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto\evp\evp_fetch.c:373:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()
请问该问题是否由OpenSSL版本导致?
回答
这个问题确实由OpenSSL版本导致。
原因:OpenSSL 3.0系列对加密算法的默认策略做了调整,RC2-40-CBC这类弱加密算法被默认禁用,而你的.p12文件恰好使用该算法进行加密,因此执行命令时会触发不支持的错误。
解决方法:
- 方法一:在原命令中添加
-legacy参数,强制启用旧版兼容算法支持:
也可以直接指定允许使用RC2-40-CBC算法:openssl pkcs12 -info -in certificate.p12 -nodes -legacyopenssl pkcs12 -info -in certificate.p12 -nodes -cipher RC2-40-CBC - 方法二:改用OpenSSL 1.x版本执行原命令,该版本默认支持RC2-40-CBC这类弱加密算法。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

