背景通過命令行使用 OpenSSL 時,我可以通過設(shè)置 my 來更改默認引擎openssl.cnf(請參閱下面的示例代碼)。我現(xiàn)在想在使用 EVP API 時更改默認引擎,最好通過更改配置文件來更改。更大的背景是我正在使用EVP 的 Go 包裝器,它既不支持全局設(shè)置引擎,也不支持設(shè)置用于簽名/驗證的引擎(我唯一關(guān)心的操作)。我正在研究涉及代碼更改的選項(例如使用 cgo全局設(shè)置引擎或分叉庫),但如果我可以避免它們,那就太理想了。問題EVP 似乎沒有讀取配置文件,我無法在網(wǎng)上找到/理解關(guān)于這是否可能的文檔。配置文件是自動加載的(我只是做錯了?)還是我需要執(zhí)行諸如 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條經(jīng)驗 獲得超11個贊
假設(shè)您使用的是 OpenSSL 1.1.0 或更高版本,然后嘗試在程序開頭插入以下內(nèi)容(在執(zhí)行任何其他 OpenSSL 調(diào)用之前):
OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL);
- 1 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消