2016-12-26 13 views
0

再起動せずにSSL証明書を再ロードできるサーバーを実装しています。その結果、古いものを置き換えるために新しいSSL_CTXを作成する必要があります。ただし、以前のSSL_CTXで作成されたSSLセッションがまだ存在する場合は、古いものを解放するのは安全ですか?あるいはそうするために参照カウントのようなテクニックを使わなければならないのですか?SSLを作成した後でSSL_CTXを解放するのは安全ですか

+0

現時点では言い難いです。あなたのコードと、いつどのようにコンテキストをリリースするのかを確認する必要があります。 – jww

答えて

1

または、そうするには参照カウントのような技術を使用する必要がありますか?

OpenSSLはすでに参照カウントを使用しているため、独自に実装する必要はありません。 SSL_CTX_freeは参照カウンタを減少させ、オブジェクトがこのCTXを使用していない場合にのみメモリを解放します。 documentation of SSL_CTX_freeから:

SSL_CTX_free()はCTXの参照カウントをデクリメントし、SSL_CTXオブジェクトはCTXによって指さ除去し、参照カウントが0
達した場合、割り当てられたメモリを解放また、呼び出しセッションキャッシュ、暗号のリスト、クライアントCAのリスト、証明書とキー、間接的に影響を受けるアイテムのためのfree()手続き。

+0

ありがとうございます。これはOpenSSLがすでに私の仕事をしてくれたのでとても便利です。 –

関連する問題