delphi - 将 Indy 10 IdHTTP 与 TLS 1.2 结合使用

标签 delphi ssl delphi-xe2 indy10 tls1.2

我在 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的配置:

SSLIOHandler Config

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

我尝试检查 WireShark,在这两种情况下(当方法是 sslvTLSv1_2 或 sslvTLSv1 时)我都得到指向 tls 1.0 版的相同错误。

方法 sslvTLSv1:

Method sslvTLSv1

方法 sslvTLSv1_2:

enter image description here

如果我遗漏了什么,请指出正确的方向。

预先感谢您提供的所有帮助。

P.S:刚收到服务器提供商的回复,他们使用 AES_128_GCM 作为他们的密码,它在默认密码列表中吗?

WireShark>客户端问候包:

enter image description here enter image description here

最佳答案

以防万一有人遇到类似错误,在我的例子中,使用的是 SSL 库(libeay32、ssleay32),它已过时(2010 年)。更新 SSL 后,它可以正常运行,没有任何错误。

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

关于delphi - 将 Indy 10 IdHTTP 与 TLS 1.2 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37809971/

相关文章:

Delphi Unicode 和控制台

delphi - 初级 Delphi 开发人员应该学习哪些干净、优雅、设计良好、编写良好、做得很好的 Delphi 代码?

java - [不支持的密码套件][Java SSLSocket]

ssl - 通过 SSL 将密码 ldapmodify 更改为 AD 2008 R2 失败,出现 0000052D : SvcErr: DSID-031A1248, 问题 5003 (WILL_NOT_PERFORM)

delphi - 检查记录字段是否唯一(DBTables.TBDEDataSet.Lookup 方法)

windows - Delphi - 托盘图标中的文本

java - 作为 Delphi 程序员理解 Java

apache - Redmine 2.3.2 svn HTTPs 服务器 SSL 证书不受信任

delphi - fatal error : Cannot create output file "project1.exe"

delphi - 新的 Delphi Rad Studio XE2 中的 FireMonkey (FMX) 包含哪些功能的详细信息?