为了账号安全,请及时绑定邮箱和手机立即绑定

使用 OpenSSL 的 EVP API 的配置文件

使用 OpenSSL 的 EVP API 的配置文件

Go
jeck猫 2023-07-10 10:43:39
背景通过命令行使用 OpenSSL 时,我可以通过设置 my 来更改默认引擎openssl.cnf(请参阅下面的示例代码)。我现在想在使用 EVP API 时更改默认引擎,最好通过更改配置文件来更改。更大的背景是我正在使用EVP 的 Go 包装器,它既不支持全局设置引擎,也不支持设置用于签名/验证的引擎(我唯一关心的操作)。我正在研究涉及代码更改的选项(例如使用 cgo全局设置引擎或分叉库),但如果我可以避免它们,那就太理想了。问题EVP 似乎没有读取配置文件,我无法在网上找到/理解关于这是否可能的文档。配置文件是自动加载的(我只是做错了?)还是我需要执行诸如 call OPENSSL_INIT_LOAD_CONFIG之类的操作?示例代码openssl_conf = openssl_def[openssl_def]engines = engine_section[engine_section]pkcs11 = pkcs11_section[pkcs11_section]engine_id = pkcs11dynamic_path = /usr/local/Cellar/engine_pkcs11/0.1.8/lib/engines/engine_pkcs11.soMODULE_PATH = /usr/local/Cellar/opensc/0.19.0/lib/pkcs11/opensc-pkcs11.soPIN = "123456"init = 0$ openssl engine(rdrand) Intel RDRAND engine(dynamic) Dynamic engine loading support(pkcs11) pkcs11 engine
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

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

    OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL);



查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 67 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信