2016-10-20 7 views
1

OpenSSL documentationによれば、SSL_set_verifySSL_CTX_set_verifyはほぼ同じことをしています。SSL_set_verifyとSSL_CTX_set_verifyを呼び出すタイミング

ブーストライブラリを使用して、ssl::stream::set_verify_callbackssl::context::set_verify_callbackを呼び出す必要があるかどうかはわかりません。なぜなら、ストリームはコンテキストを使用しているからです。これらの関数はそれぞれフードの下でSSL_set_verifySSL_CTX_set_verifyを呼び出します。

SSLストリームの代わりにコンテキストの検証コールバックをいつ設定する必要がありますか?

答えて

2

それぞれの接続はそれぞれオブジェクトから継承しながら、それぞれ独自のsslオブジェクトを持つことができます。ここで違いを見ることができます。 1つは一般に1つのctxが作成され、すべてのTLS接続に同じものを使用する傾向があります。このモデルでは、グローバルまたは個々の接続レベルで2つのオプションを使用して検証オプションを制御できます。

従って差はSSL_CTX_set_verifyがSSL_set_verifyに対し所与ctx由来する全てsslオブジェクト()のみが、それが呼び出されsslオブジェクトに影響を与えるための検証モードを設定することです。

1

通常、コードに共通の確認機能があり、単一のSSLセッションに固有の機能はありません。多くの場合、複数のSSLセッション間で同じSSLコンテキストを共有します。したがって、ほとんどの場合、検証コールバックをコンテキストに対してのみ設定する方が理にかなっています。

関連する問題