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

Win x64环境下用VS2022编译OpenSSL 3.0.0:如何指定FIPS配置

OpenSSL 3.0.0 Win64(VS2022)FIPS 能力配置指南

一、重新编译带FIPS支持的OpenSSL 3.0.0

OpenSSL 3.0+ 采用Provider机制实现FIPS合规,编译时需显式启用FIPS模块:

  • 打开VS2022的「x64 Native Tools Command Prompt」
  • 进入OpenSSL 3.0.0源码根目录
  • 执行配置命令:
    perl Configure VC-WIN64A enable-fips
    
  • 依次执行编译、测试(可选)、安装(可选):
    nmake
    nmake test  # 验证编译正确性
    nmake install  # 安装到默认路径或自定义路径
    

二、通过配置文件启用FIPS Provider

OpenSSL 3.0.0 废弃了openssl fipsinstall命令,需通过openssl.cnf配置加载FIPS模块:

  1. 找到配置文件位置:
    • 默认安装路径:C:\Program Files\OpenSSL-Win64\ssl\openssl.cnf
    • 自定义编译路径:输出目录下的ssl\openssl.cnf
  2. 修改配置文件,添加以下内容:
    # 初始化配置
    [openssl_init]
    providers = provider_sect
    
    # 定义Provider区块
    [provider_sect]
    fips = fips_sect
    base = base_sect
    
    # FIPS Provider配置
    [fips_sect]
    activate = 1
    # 替换为你的fips.dll实际路径,自定义编译需修改为对应输出路径
    module = $ENV::ProgramFiles\OpenSSL-Win64\lib\ossl-modules\fips.dll
    
    # 基础Provider配置
    [base_sect]
    activate = 1
    

三、验证FIPS模式生效

执行以下命令确认配置成功:

  • 查看FIPS状态:
    openssl version -f
    
    输出包含OPENSSL_FIPS=1则表示FIPS已启用
  • 查看加载的Providers:
    openssl list -providers
    
    列表中应显示FIPS Provider且状态为active

注意事项

  • 确保fips.dll路径正确,路径中避免空格或特殊字符,若自定义编译需替换为实际生成的模块路径
  • 编译时必须添加enable-fips选项,否则不会生成FIPS模块
  • OpenSSL 3.0.0的FIPS模块需符合NIST验证标准,使用前确认版本在合规列表内

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:31:15