【问题标题】:Load OpenSSL custom engine in C/C++在 C/C++ 中加载 OpenSSL 自定义引擎
【发布时间】:2020-10-12 13:24:49
【问题描述】:

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

【问题讨论】:

    标签: c++ c openssl openssl-engine


    【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多