使用sslvSSLv23时如何确定协商了哪个TLS / SSL协议?

时间:2016-12-13 17:50:16

标签: delphi indy indy10

我正在使用TIdSSLIOHandlerSocketOpenSSL打开TLS / SSL连接。我目前想要支持1.0到1.2。

我像这样初始化IOHandler。

SSLContext.Method

建立连接后,如何才能获得为连接协商的协议? (两者都用于确保客户端和测试服务器的配置是正确的,并最终用于统计目的)。

我在连接后检查了sslvSSLv23,但在连接后仍显示SSLContext.SSLVersions[sslvTLSv1_2,sslvTLSv1_1, sslvTLSv1]显示{{1}}。

那我如何获得这些信息?

1 个答案:

答案 0 :(得分:5)

在建立SSL / TLS会话后,特定协商协议位于SSL_get_version()属性中。 OpenSSL还有setCallback函数(Indy不使用,但你可以直接调用)。