我有一个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,所以我假设使用同一个商店是一个问题。有解决方案吗?
答案 0 :(得分:0)
我可以在不同的ssl上下文之间重用openssl x509store吗?
如果您拥有共享信任和密钥材料,则应重复使用相同的SSL上下文。这就是它的用途。