2

我正在为 ARM 板创建一个自定义 OpenSSL 引擎,用于已经链接到 libssl 的应用程序。但是,我需要告诉应用程序加载这个自定义引擎并使用它。我只能找到 openssl 的命令行。所以问题是:如何加载 OpenSSL 引擎并在 C/C++ 应用程序中使用它?

4

1 回答 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 回答