我可以在不同的ssl上下文之间重用openssl x509store吗?

时间:2016-11-30 21:42:44

标签: c++ openssl

我有一个c ++应用程序,它使用OpenSSL为不同的端点创建多个http客户端。在设置ssl上下文期间,我将Mozilla pem文件加载到单个X509STORE对象中。

X509_STORE* thestore = globalstuffs::getInstance().x509store;
SSL_CTX_set_cert_store(sslctx_->native_handle(), thestore);

我的想法是这样做而不是从文件加载,以便每次使用sslctx_->load_verify_file(file);sslctx_->set_default_verify_paths();

来节省进入磁盘的时间

单个客户端没有问题,但是当我有多个客户端时,在第二次拆除ssl上下文时,我在CRYPTO_free中出错了。调用堆栈显示X509_STORE_free,所以我假设使用同一个商店是一个问题。有解决方案吗?

1 个答案:

答案 0 :(得分:0)

  

我可以在不同的ssl上下文之间重用openssl x509store吗?

如果您拥有共享信任和密钥材料,则应重复使用相同的SSL上下文。这就是它的用途。