使用透明协商时验证OpenSSL连接

时间:2010-10-04 12:55:24

标签: openssl

当使用OpenSSL和非阻塞套接字时,可以方便地使用透明协商模式,通过在尚未安全连接的SSL上下文中调用SSL_write来启动协商,然后处理生成的错误(通常为SSL_WANT_READ)以进行读取来自输出BIO的握手包并通过传输发送它。

但是,如果没有对SSL_do_handshake的显式(阻塞)调用,我不清楚何时尝试验证证书。

一旦SSL_write第一次成功返回成功,我是否只需要进行证书检查?还是有更好的信号?

1 个答案:

答案 0 :(得分:2)

在您开始协商之前,您应该使用SSL_set_verify()来设置验证模式和可选的验证回调。处理回调中所需的任何其他特定于应用程序的验证。

然后,如果SSL_write()和/或SSL_read()成功返回,您就知道证书已经过验证。