我使用Delphi XE2和Indy 10.5.8.0。
目前,我需要将与我们其中一个服务器的连接更改为仅使用TLS 1.2,当前我们正在使用TLS 1.0。
作为 IdHTTP 的处理程序,正在使用 IdSSLIOHandlerSocketOpenSSL。
我尝试将方法更改为 sslvTLSv1_2,但它不起作用,因为连接会出现以下错误:
"Error connecting with SSL. error:1409442E:SSL routine:SSL3_READ_BYTES:tlsv 1 alert protocol version"
我正在使用默认密码列表,不确定是否需要任何特定密码(目前正在向服务器提供程序询问他们使用的密码)。
这是处理程序的配置:
我以前没有使用SSL连接,因为在使用默认设置时一切都很好。
我尝试检查WireShark,在ssl vTLSv1或 sslvTLSv1_2 方法下,我都收到指向tls版本1.0的相同错误。
sslvTLSv1 方法:
sslvTLSv1_2 方法:
如果我遗漏了什么,请指出正确的方向。
非常感谢您提供的所有帮助。
P.S:刚刚收到服务器提供商的回复,他们正在使用AES_128_GCM作为密码,它是否在默认密码列表中?
WireShark>客户端问候包:
IdSSLOpenSSLHeaders
模块中的SSL_DEFAULT_CIPHER_LIST
常量中。 - Remy Lebeau