【发布时间】:2016-10-28 15:13:47
【问题描述】:
版本:REBOL/视图 2.7.8.3.1 2011 年 1 月 1 日
多年来,我每周都会运行一个 REBOL 脚本来获取数据。脚本的最后一次验证工作是 2016 年 10 月 21 日。
截至今天,2016 年 10 月 28 日,脚本因以下错误而失败:
** 命令错误:SSL 错误:错误:14077410:SSL 例程:SSL23_GET_SERVER_HEL LO:sslv3 警告握手失败
有人建议在 SSL/TLS 握手期间,REBOL 只提供当前服务器不再支持的密码。随后,我的脚本尝试联系的服务器不愿意使用旧的 REBOL 密码,因此握手失败。
这是对的吗?如果是这样,除非打补丁,否则 REBOL 2.7.8 很快就会变得毫无用处。
顺便说一句,这在 Saphirion 的 R3 上失败了。在这种情况下,它只会崩溃并停止工作,而不会发出错误消息。
【问题讨论】:
-
很难确定,因为 Rebol 2 是封闭源代码。您是否尝试过 Atronix 或 Ren-C 版本?据我了解,他们使用更新版本的 TLS。如果您必须坚持使用 Rebol 2,您可以通过 CALL wrap curl 委派您的 HTTPS 请求。另外,您是否有一个可以重现错误的 URL?
-
>> read https://www.espacehifi.com/ connecting to: www.espacehifi.com ** Command Error: SSL Error: error:14077438:SSL routines:SSL23_GET_SERVER_HEL LO:tlsv1 alert internal error ** Where: build-port ** Near: system/words/set-modes port/sub-port [secure: true]Windows 10 周年更新的最新补丁可能默认阻止了 SSL 3 支持。 -
但是 GOOGLE 没问题:>> 阅读 google.com 连接到:www.google.com == {schema.org/WebPage" lan g="zh">还有...
>> a: https://fred.stlouisfed.org/graph/fredgraph.csv?id=wCURRNS == https://fred.stlouisfed.org/graph/fredgraph.csv?id=wCURRNS >> read a connecting to: fred.stlouisfed.org ** Command Error: SSL Error: error:14077410:SSL routines:SSL23_GET_SERVER_HEL LO:sslv3 alert handshake failure ** Where: build-port ** Near: system/words/set-modes port/sub-port [secure: true]即使在 Rebol3 上,我们 Atronix 在需要 TLS 1.2 时也会使用 curl。在 Rebol3 的 Atronix 构建中添加 TLS 1.2 支持是我们的路线图。它应该在 2017 年完成。我们很可能会从 OpenBSD 项目中集成 LibreSSL,因为它具有更简洁的 API 和很少的安全漏洞。