如何用OpenSSL将PKCS12文件加密从RC2-40-CBC改为AES-256-CBC?
解决OpenSSL 3.0修改PKCS12私钥加密算法的问题
OpenSSL 3.0重构了PKCS12工具的参数逻辑,你使用的-aes256参数在-export模式下已被废弃,因此会被系统提示忽略。按以下步骤操作即可完成需求:
导出原始PKCS12到未加密PEM文件(这一步你的命令是正确的):
openssl pkcs12 -legacy -in cert.p12 -out temp.pem -nodes-legacy用于兼容采用RC2旧加密算法的PKCS12文件,-nodes确保导出的私钥不加密,避免二次加密干扰后续配置。重新生成采用AES-256-CBC加密的PKCS12文件:
替换为以下命令,明确指定私钥(及可选的证书)加密算法:openssl pkcs12 -export -in temp.pem -out new.p12 -keyex -PBE AES-256-CBC -certpbe AES-256-CBC-keyex:指定针对私钥的加密配置生效-PBE AES-256-CBC:强制私钥使用AES-256-CBC算法加密-certpbe AES-256-CBC:可选参数,如果需要证书也采用同算法加密则保留,不需要可直接删除,不影响私钥的加密设置
验证修改结果:
执行以下命令检查新生成的PKCS12文件:openssl pkcs12 -info -in new.p12输入设置的密码后,即可看到私钥对应的加密算法已变为
AES-256-CBC。
内容的提问来源于stack exchange,提问作者SlainteMhath
相关产品推荐
相关产品推荐

