我使用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的配置:
我不习惯SSL连接,因为它使用默认设置,一切正常。
我试图检查WireShark并且在两种情况下(当方法是sslvTLSv1_2或sslvTLSv1时)我得到指向tls版本1.0的相同错误。
方法sslvTLSv1:
方法sslvTLSv1_2:
如果我遗失了某些东西,请指出正确的方向。
提前感谢您提供的所有帮助。
P.S:刚收到服务器提供商的回复,他们使用AES_128_GCM作为他们的密码,它是否在默认的密码列表中?
WireShark>客户端Hello包:
答案 0 :(得分:8)
以防有些人遇到类似的错误,在我的情况下,正在使用的是SSL库(libeay32,ssleay32),它已经过时(2010年)。更新SSL后,它可以正常运行而不会出现任何错误。
感谢@RemyLebeau指出这是一个更新问题=)