Проверка соединений OpenSSL при использовании прозрачного согласования - PullRequest
0 голосов
/ 04 октября 2010

При использовании OpenSSL с неблокирующими сокетами удобно использовать режим прозрачного согласования, при котором согласование инициируется путем вызова SSL_write в еще не защищенном подключенном контексте SSL, а затем обработки полученной ошибки (обычно SSL_WANT_READ) для чтенияпакет рукопожатия от выходного BIO и отправить его по транспорту.

Однако, без явного (блокирующего) вызова SSL_do_handshake мне не ясно, когда пытаться проверить сертификат.

Должен ли я просто выполнить проверку сертификата, как только SSL_write вернет успех в первый раз?Или есть лучший сигнал?

1 Ответ

2 голосов
/ 05 октября 2010

Перед началом согласования вы должны использовать SSL_set_verify(), чтобы установить режим проверки и, при необходимости, обратный вызов для проверки. Обработайте любую дополнительную проверку приложения, необходимую вам в обратном вызове.

Затем, если SSL_write() и / или SSL_read() успешно вернутся, вы знаете, что сертификат был проверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...