我在 Indy 10.5.8.0 上使用 Delphi XE2
目前我需要更改与我们其中一台服务器的连接以仅使用 TLS 1.2,目前我们正在使用 TLS 1.0
作为 IdHTTP 的处理程序,正在使用 IdSSLIOHandlerSocketOpenSSL。
我尝试将方法更改为 sslvTLSv1_2 但它不起作用,因为连接会出现下一个错误: “与 SSL 连接时出错。错误:1409442E:SSL 例程:SSL3_READ_BYTES:tlsv 1 警报协议(protocol)版本”
我正在使用默认密码列表,不确定我是否需要任何特定密码(目前正在询问服务器提供商以了解他们使用的密码)
这是Handler的配置:
我不习惯 SSL 连接,因为它使用默认设置工作,一切正常。
我尝试检查 WireShark,在这两种情况下(当方法是 sslvTLSv1_2 或 sslvTLSv1 时)我都得到指向 tls 1.0 版的相同错误。
方法 sslvTLSv1:
方法 sslvTLSv1_2:
如果我遗漏了什么,请指出正确的方向。
预先感谢您提供的所有帮助。
P.S:刚收到服务器提供商的回复,他们使用 AES_128_GCM 作为他们的密码,它在默认密码列表中吗?
WireShark>客户端问候包:
最佳答案
以防万一有人遇到类似错误,在我的例子中,使用的是 SSL 库(libeay32、ssleay32),它已过时(2010 年)。更新 SSL 后,它可以正常运行,没有任何错误。
感谢@RemyLebeau 指出这是一个更新问题 =)
关于delphi - 将 Indy 10 IdHTTP 与 TLS 1.2 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37809971/