我正在为 ARM 板创建一个自定义 OpenSSL 引擎,用于已经链接到 libssl 的应用程序。但是,我需要告诉应用程序加载这个自定义引擎并使用它。我只能找到 openssl 的命令行。所以问题是:如何加载 OpenSSL 引擎并在 C/C++ 应用程序中使用它?
问问题
217 次
1 回答
0
使用ENGINE_by_id(...)
. 您可能还需要设置OPENSSL_ENGINES
环境变量来指定自定义引擎所在目录的路径。
const char *engine_id = "your_custom_engine_id";
// ...
engine = ENGINE_by_id(engine_id);
if (engine == NULL) {
// handle error
}
if (ENGINE_init(engine) == 0) {
// handle error
}
EVP_PKEY *evp_key = ENGINE_load_public_key(engine, key_uri, NULL, NULL);
if (evp_key == NULL) {
// handle error
}
于 2021-11-16T09:32:30.427 回答