2016-10-20 2 views
1

Согласно OpenSSL documentation, как SSL_set_verify, так и SSL_CTX_set_verify, похоже, делают почти то же самое.Когда звонить SSL_set_verify vs SSL_CTX_set_verify

Использование библиотек Boost, я не могу определить, нужно ли мне звонить ssl::stream::set_verify_callback по сравнению с ssl::context::set_verify_callback, так как поток использует контекст в любом случае. Функции вызывают SSL_set_verify и SSL_CTX_set_verify, соответственно, под капотом.

Когда мне нужно установить обратный вызов проверки для контекста вместо потока SSL?

ответ

2

Каждое соединение может иметь свой собственный объект ssl, пока все они наследуются от одного объекта ctx. Здесь вы можете увидеть разницу. Как правило, обычно создается один ctx и использует его для всех подключений TLS. В этой модели вы можете управлять параметрами проверки по всему миру или на индивидуальном уровне соединения с двумя параметрами.

Таким образом, разница в том, что SSL_CTX_set_verify устанавливает режим проверки для всех ssl объектов, полученных из данной ctx в то время как SSL_set_verify() влияет только на объект ssl его называют далее.

1

Обычно у вас есть общая функция проверки в вашем коде, а не одна для отдельных сеансов SSL. И часто вы используете один и тот же контекст SSL между несколькими сеансами SSL. Поэтому в большинстве случаев имеет смысл установить обратный вызов проверки только в контексте.

Смежные вопросы