使用Indy 10 IdHTTP和TLS 1.2

vex*_*xen 8 delphi ssl indy10 delphi-xe2 tls1.2

我使用Delphi XE2和Indy 10.5.8.0

目前,我需要更改与我们的服务器之一的连接,以便仅使用TLS 1.2,目前我们正在使用TLS 1.0

作为IdHTTP的处理程序,正在使用IdSSLIOHandlerSocketOpenSSL.

我尝试将方法更改为sslvTLSv1_2并且它不起作用,因为连接提供下一个错误:"与SSL连接时出错.错误:1409442E:SSL例程:SSL3_READ_BYTES:tlsv 1警报协议版本"

我使用默认密码列表,不确定我是否需要任何特定的密码(当前要求服务器提供商知道他们使用的密码)

这是Handler的配置:

SSLIOHandler配置

我不习惯SSL连接,因为它使用默认设置,一切正常.

我试图检查WireShark,并且在两种情况下(当方法是sslvTLSv1_2或sslvTLSv1时)我得到指向tls版本1.0的相同错误.

方法sslvTLSv1:

方法sslvTLSv1

方法sslvTLSv1_2:

在此输入图像描述

如果我遗漏了某些东西,请指出正确的方向.

提前感谢您提供的所有帮助.

PS:刚收到服务器提供商的回复,他们使用AES_128_GCM作为他们的密码,是否在默认的密码列表中?

WireShark>客户端Hello包:

在此输入图像描述 在此输入图像描述

vex*_*xen 8

以防万一有一个类似的错误,在我的情况下,正在使用的SSL库(libeay32,ssleay32),它已经过时(2010年).更新SSL后,它正确处理没有任何错误.

谢谢@RemyLebeau指出这是一个更新问题=)