【问题标题】:500 SSL Negotiation failed in perl version 5.6perl 5.6 版中的 500 SSL 协商失败
【发布时间】:2020-03-16 16:20:28
【问题描述】:

在 Live 服务器中,我们有 perl 版本 5.6.1,最近我们启用了 TLS 1.2,导致出现错误“500 SSL 协商失败 >”。早些时候我们有 TLS 1.0,我们没有任何问题。启用 TLS 1.2 是不可避免的,这是强制性的。 如何解决这个问题?

我搜索并发现必须安装 SOAP-LITE 模块才能解决上述问题,但 5.6.1 版本不支持 SOAP-LITE 模块。它在活动 perl 5.8 及更高版本中可用。 是否建议升级到 5.8 版本以安装soap::Lite?

我在这个项目中使用了MSSQL::DBLIB和MSSQL::SQLLIB模块,升级后会支持这个模块吗?

【问题讨论】:

  • SOAP::Lite 不应该与 TLS 版本支持有任何关系;我怀疑您的搜索结果具有误导性。如果您还没有使用 SOAP::Lite,那么安装它就无法为您解决问题。 TLS 1.2 非常新,而 perl 5.6.1 已经快 19 年了;您可能无法更新某些模块并获得 TLS 1.2 支持 - 许多模块不再支持 5.6。你绝对应该考虑升级你的 perl(最好是超过 12 年的 5.8)。
  • 升级到5.8?当 perl 在 5.30 时,这不是升级......
  • @ysth:从哪个版本的 perl 开始支持 TLS 1.2?我正在使用 MSSQL::DBLIB ,MSSQL::SQLLIB ,升级版本应该支持。即 MSSQL::DBLIB ,MSSQL::SQLLIB 和 TLS1.2 支持哪个版本?

标签: perl ssl tls1.2 soaplite


【解决方案1】:

考虑到您的 Perl 版本有多旧,您的 OpenSSL 版本(最后用于 Perl 中的 SSL 连接)很可能也一样旧。 2012 年发布的 OpenSSL 1.0.1 添加了对 TLS 1.2 的支持。Perl 5.6.1 于 2000 年发布,而在 2012 年我们已经有了 Perl 5.14。

而且,您的其他软件也很有可能过时、不受支持并且可能也不安全。

如何解决这个问题?

最后升级您长期不受支持的软件堆栈。您可以尝试仅更新 openssl 并重建 Crypt::SSLeay(可能还没有使用 Net::SSLeay)以保持最小的更改,但我不确定这是否会起作用甚至编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2011-05-27
    • 2017-07-13
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多