创建SSL后释放SSL\u CTX安全吗

创建SSL后释放SSL\u CTX安全吗,ssl,openssl,Ssl,Openssl,我正在实现一个无需重新启动即可重新加载SSL证书的服务器。因此,我需要创建一个新的SSL_CTX来替换旧的SSL_CTX。但是,如果仍然存在一些SSL会话(由以前的SSL_CTX创建),释放旧会话安全吗?或者我必须使用引用计数之类的技术才能做到这一点 或者我必须使用引用计数之类的技术才能做到这一点 OpenSSL已经使用了引用计数,所以您不必实现自己的引用计数。SSL_CTX_free只会减少引用计数器,并且仅当没有对象仍在使用此CTX时才释放内存。从: SSL_CTX_free()减少CTX的

我正在实现一个无需重新启动即可重新加载SSL证书的服务器。因此,我需要创建一个新的SSL_CTX来替换旧的SSL_CTX。但是,如果仍然存在一些SSL会话(由以前的SSL_CTX创建),释放旧会话安全吗?或者我必须使用引用计数之类的技术才能做到这一点

或者我必须使用引用计数之类的技术才能做到这一点

OpenSSL已经使用了引用计数,所以您不必实现自己的引用计数。SSL_CTX_free只会减少引用计数器,并且仅当没有对象仍在使用此CTX时才释放内存。从:

SSL_CTX_free()减少CTX的引用计数,并删除CTX指向的SSL_CTX对象,如果引用计数达到0,则释放分配的内存。
它还为间接受影响的项目调用释放过程(如果适用):会话缓存、密码列表、客户端CA列表、证书和密钥


现在很难说。我们需要查看您的代码,以及如何以及何时发布上下文。谢谢。这真的很方便,因为OpenSSL已经为我完成了这项工作。