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

OpenSSL 3.0.2无法启用GOST引擎,求排查问题原因

问题描述

我已按照安装指南操作,当前环境信息如下:

  • OpenSSL版本:
openssl version
>> OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
  • 引擎目录路径:
openssl version -e
>> ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-3"
  • 该目录下已存在gost.so文件:
ls /usr/lib/x86_64-linux-gnu/engines-3
>> afalg.so  gost.so  loader_attic.so  padlock.so

但执行openssl ciphers | grep "GOST"无任何输出,我的/usr/lib/ssl/openssl.cnf配置如下:

[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/gost.so
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

请问哪里操作有误?

可能的原因及解决方法
  1. 适配OpenSSL 3.0的provider框架
    OpenSSL 3.0弃用了旧版engine的部分配置逻辑,改用provider框架管理加密组件。需要修改openssl.cnf,替换原有engine配置为provider格式:
[openssl_def]
providers = provider_sect

[provider_sect]
default = default_sect
gost = gost_sect

[default_sect]
activate = 1

[gost_sect]
activate = 1
engine_id = gost
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/gost.so
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
  1. 先验证引擎加载状态
    执行openssl engine -t -c gost,如果返回"available"说明引擎加载正常;若加载失败,检查gost.so的文件权限,确保当前用户有读取权限。

  2. 调整密码套件查询命令
    OpenSSL 3.0对GOST套件的查询逻辑有变化,改用以下命令尝试:

openssl ciphers -v | grep GOST

或直接指定具体套件名称:

openssl ciphers GOST28147-GOST89-GOST89

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:35:00