在C/C++中加载自定义的OpenSSL引擎。

3

我正在为一款ARM板创建自定义的OpenSSL引擎,以供已连接到libssl的应用程序使用。然而,我需要告诉应用程序加载这个自定义引擎并使用它。我只能找到openssl命令行。那么问题来了:如何在C/C++应用程序中加载一个OpenSSL引擎并使用它?

1个回答

1

使用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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接