【发布时间】:2016-08-29 13:58:01
【问题描述】:
在this question 中,我询问了有关在 Delphi XE2 下为我的 Web 服务限制可用 SSL/TLS 协议的问题。
通过使用TIdServerIOHandlerSSLOpenSSL 组件并将其SSLOptions.SSLVersions 属性设置为[sslvSSLv23,sslvTLSv1],我能够将可用协议限制为TLS 1.x。
现在,在升级到 Delphi Seattle Upgrade 1 后,我想进一步将其限制为仅限 TLS 1.1 和 1.2:
LIOHandleSSL.SSLOptions.SSLVersions := [sslvTLSv1_1,sslvTLSv1_2];
但这根本不起作用。尝试连接时,我得到一个
exception class EidOSSLUnderlying CryptoError with message
'Error accepting connection with SSL. error: 140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol'
和
Error connecting with SSL
EOF was observed that violates the protocol
这里发生了什么?如何解决?
注意事项:
- 使用 OpenSSL 1.02f 和 1.02h 测试
- 设置“旧”组合
[sslvSSLv23,sslvTLSv1]有效 - 包括 TLS 1.0 也可以:
[sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2]
【问题讨论】:
标签: delphi ssl openssl indy delphi-10-seattle