You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.4安装OpenSSL 1.1.1解决RC2-40-CBC读取问题求助

在Ubuntu 22.04上处理RC2-40-CBC算法的.p12文件

针对你遇到的OpenSSL 3.x无法读取RC2-40-CBC算法.p12文件的问题,有两种可行解决方案:

方案一:安装并独立使用OpenSSL 1.1.1

Ubuntu 22.04的软件源仍提供OpenSSL 1.1.1的独立包,无需替换系统默认的3.x版本:

  • 执行命令安装:
    sudo apt update && sudo apt install openssl-1.1
    
  • 使用时直接指定1.1.1版本的执行路径操作.p12文件,例如查看文件信息:
    /usr/bin/openssl1.1 pkcs12 -in your_file.p12 -info
    
  • 该版本默认支持RC2-40-CBC算法,可正常处理目标文件。

方案二:在OpenSSL 3.x中启用Legacy算法

OpenSSL 3.x默认禁用了RC2-40-CBC这类弱算法,可通过以下方式启用:

临时启用(单命令生效)

执行命令时添加-legacy参数,例如:

openssl pkcs12 -in your_file.p12 -info -legacy

永久启用(全局生效)

修改OpenSSL配置文件/etc/ssl/openssl.cnf:

  1. 找到[openssl_init]段,确保包含providers = provider_sect
  2. 在文件末尾添加以下配置:
    [provider_sect]
    default = default_sect
    legacy = legacy_sect
    
    [default_sect]
    activate = 1
    
    [legacy_sect]
    activate = 1
    
  3. 保存配置后,后续所有OpenSSL命令默认支持Legacy算法。

额外建议

RC2-40-CBC属于弱加密算法,存在安全风险。处理完目标文件后,建议将证书转换为更安全的算法(如AES-256-CBC):

  1. 先导出PEM格式:
    # 用OpenSSL 1.1.1
    /usr/bin/openssl1.1 pkcs12 -in old.p12 -out temp.pem -nodes
    # 或用OpenSSL 3.x加legacy参数
    openssl pkcs12 -in old.p12 -out temp.pem -nodes -legacy
    
  2. 重新导出为安全加密的.p12文件:
    openssl pkcs12 -export -in temp.pem -out new_secure.p12 -aes256
    

内容的提问来源于stack exchange,提问作者Harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:33:17