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

Ubuntu 18.04下OpenSSL配置FIPS 140-2失败求助

解决Ubuntu 18.04下OpenSSL 3.x结合FIPS 140-2的配置问题

你的核心问题在于OpenSSL 3.x和旧版fips-2.0.16模块不兼容——OpenSSL 3.0+采用了全新的FIPS Provider架构,而openssl-fips-2.0.16是为OpenSSL 1.0.x系列设计的,两者无法配合工作。以下是正确的配置步骤:

1. 清理现有错误安装

先移除之前装的OpenSSL和旧FIPS模块,避免冲突:

  • 进入openssl-3.1.0目录执行:
    make uninstall
    rm -rf /usr/local/ssl
    
  • 进入openssl-fips-2.0.16目录执行:
    make uninstall
    rm -rf /root/openssl-fips-2.0.16
    
  • 清除相关环境变量:
    unset OPENSSL_FIPS
    

2. 下载适配OpenSSL 3.1.x的FIPS Provider

OpenSSL 3.1.x需要搭配OpenSSL FIPS Provider 3.0.x(如3.0.9,与3.1.0兼容),下载对应版本的源码包。

3. 编译安装FIPS Provider

解压源码包后执行:

./config --prefix=/usr/local/ssl-fips
make
make install

4. 编译安装带FIPS支持的OpenSSL 3.1.0

进入openssl-3.1.0源码目录,配置时指定FIPS模块路径:

./config --prefix=/usr/local/ssl enable-fips --with-fipsdir=/usr/local/ssl-fips
make
make install

5. 配置环境变量并验证

设置系统优先使用新安装的OpenSSL:

export PATH=/usr/local/ssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH

执行验证命令,此时应显示FIPS相关信息:

openssl version -a

正确输出会包含类似FIPS mode: enabled或FIPS模块的加载路径。

6. 生成FIPS合规随机密钥(替代旧命令)

OpenSSL 3.x已移除rand -fips选项,改用以下两种方式:

方式1:临时指定FIPS Provider执行命令

openssl rand 32 -provider fips > aes_key.bin

方式2:全局启用FIPS模式(永久生效)

编辑/usr/local/ssl/openssl.cnf,替换或添加以下配置:

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect
base = base_sect

[fips_sect]
activate = 1
module = /usr/local/ssl-fips/lib/ossl-modules/fips.so

[base_sect]
activate = 1

之后直接执行openssl rand 32 > aes_key.bin即可生成FIPS合规密钥。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:32:44