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

OpenSSL 3启用FIPS模式生成RSA密钥及功能验证问题求助

OpenSSL 3启用FIPS模式生成RSA密钥及功能验证问题求助

我来帮你拆解下你遇到的问题,其实核心是OpenSSL 3的FIPS模式启用逻辑和旧版本不一样,加上命令参数用错了才导致的报错,咱们一步步来解决:

首先说你生成密钥时的报错:genpkey: Unknown cipher: fips
你用的-fips参数在OpenSSL 3里已经不是正确的FIPS模式开关了——OpenSSL 3改用了Provider架构,FIPS功能是通过专门的fips provider来提供的,直接在genpkey命令后加-fips会被系统当成加密算法参数,自然会报错说找不到这个加密算法。

正确生成FIPS合规RSA密钥的两种方法

方法一:临时通过环境变量加载FIPS配置

你需要指定FIPS专用的配置文件来运行命令,比如:

OPENSSL_CONF=/etc/ssl/fips.cnf openssl genpkey -algorithm RSA -out private.key -aes256 -pkeyopt rsa_keygen_bits:2048

注:/etc/ssl/fips.cnf是常见的配置文件路径,如果你的OpenSSL是自定义安装的,路径可能需要调整,比如/usr/local/ssl/fips.cnf

方法二:修改全局配置默认启用FIPS模式

编辑OpenSSL的全局配置文件(通常是/etc/ssl/openssl.cnf),找到[provider_sect]部分,改成下面的内容:

[provider_sect]
fips = fips_sect
base = base_sect

[fips_sect]
activate = 1

[base_sect]
activate = 1

保存后,直接运行生成密钥的命令就行,不需要加额外的-fips参数:

openssl genpkey -algorithm RSA -out private.key -aes256 -pkeyopt rsa_keygen_bits:2048

关于MD5测试报错的说明

你运行openssl md5 textfile时报错,这其实是正常的!因为FIPS 140-2/3标准明确禁用了MD5这种不安全的哈希算法,只要FIPS模式生效,调用MD5就会返回“unsupported”错误——这反而说明你的OpenSSL的FIPS模块是能正常工作的。

验证FIPS模式是否生效的小技巧

你可以用下面的命令查看当前加载的Provider:

openssl list -providers

如果输出里有fips provider且状态是active,就说明FIPS模式已经启用了。另外也可以用合规的SHA256算法测试:

openssl sha256 textfile

要是这个命令能正常输出哈希值,就证明FIPS模式下的合规算法可以正常使用。

备注:内容来源于stack exchange,提问作者rahuls_

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:19:50