我有一个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,因此我假设使用同一存储存在问题。这个问题有方法解决吗?
最佳答案
我可以在单独的ssl上下文之间重用openssl x509store吗?
如果您拥有共享的信任和密钥材料,则应重用相同的SSL上下文。那就是它的目的。
关于c++ - 我可以在单独的ssl上下文之间重用openssl x509store吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40898763/