Openssl 提供商中的随机数生成

问题描述 投票:0回答:1

我正在尝试实现一个 openssl 提供程序(例如 x-prov),并从 HSM 生成随机数。 x-prov 提供程序在初始化期间(在 OSSL_provider_init 函数中)使用 openssl 的 RAND_bytes api。

我执行 openssl 命令为 openssl rand --provider x-prov.so --provider 默认-hex 32

我收到以下错误

rand:无法加载提供程序 x-prov.so 提示:使用 -provider-path 选项或 OPENSSL_MODULES 环境变量。 4007CE76A07F0000:错误:0308010C:数字信封例程:inner_evp_generic_fetch:不支持:crypto / evp / evp_fetch.c:373:全局默认库上下文,算法(CTR-DRBG:0),属性() 4007CE76A07F0000:错误:12000090:随机数生成器:rand_new_drbg:无法获取drbg:crypto / rand / rand_lib.c:571:

有人可以帮我解决这个问题吗?

我正在使用 OpenSSL 3.0.2 2022 年 3 月 15 日(库:OpenSSL 3.0.2 2022 年 3 月 15 日)

在开始时加载默认提供程序 - “openssl rand --provider default --provider x-prov.so -hex 32” 将解决 RAND_bytes api 问题,但即使是“openssl rand”命令也会从默认提供程序获取随机数。 (不会为此使用 x-prov.so)。

openssl cryptography openssl-engine
1个回答
0
投票

使用-provider-path解决问题

© www.soinside.com 2019 - 2024. All rights reserved.