gpt4 book ai didi

go - 为 OpenSSL 的 EVP API 使用配置文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:42 25 4
gpt4 key购买 nike

背景

当通过命令行使用 OpenSSL 时,我可以通过设置 openssl.cnf 来更改默认引擎(参见下面的示例代码)。我现在想在使用 EVP API 时更改默认引擎,最好是通过更改配置文件。

更大的上下文是我正在使用 Go wrapper around EVP ,它既不支持全局设置引擎也不支持设置引擎进行签名/验证(我唯一关心的操作)。我正在研究涉及代码更改的选项(例如,将 cgo 用于 set the engine globally 或 fork 库),但如果我能避免它们,那将是理想的选择。

问题

EVP 似乎没有读取配置文件,而且我无法在网上找到/理解有关这是否可能的文档。配置文件是自动加载的(我只是做错了?)还是我需要做一些像 call OPENSSL_INIT_LOAD_CONFIG 这样的事情?

示例代码

openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
pkcs11 = pkcs11_section

[pkcs11_section]
engine_id = pkcs11
dynamic_path = /usr/local/Cellar/engine_pkcs11/0.1.8/lib/engines/engine_pkcs11.so
MODULE_PATH = /usr/local/Cellar/opensc/0.19.0/lib/pkcs11/opensc-pkcs11.so
PIN = "123456"
init = 0
$ openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(pkcs11) pkcs11 engine

最佳答案

假设您使用的是 OpenSSL 1.1.0 或更高版本,然后尝试在程序的开头插入以下内容(在您执行任何其他 OpenSSL 调用之前):

    OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL);

关于go - 为 OpenSSL 的 EVP API 使用配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57222725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com