Perl "lwp-request" 使用 TLS 1.2 给出错误 500
Perl "lwp-request" giving error 500 using TLS 1.2
一年多来,我们一直在通过我们的 Unix 服务器(特别是 SCO Openserver 5.0.7)使用运输 API。
我们的系统生成 XML 个文件,使用 lwp-request
command 将它们发送到服务器,接收响应,解释它,并根据我们的系统需要进行处理。
我们使用的确切命令是:
lwp-request -m POST https://url.com < REQUESTFILE.XML > RESPONSEFILE.XML
运输公司正在升级所有服务器以要求 TLS 1.2,现在我得到
500 SSL negotiation failed:
作为使用此命令时的响应。
我不确定如何使我们的系统兼容。
我需要更新 Perl 吗? (当前版本是为 i586-pc-sco3.2v5.0 构建的 v5.8.8)。如果可以,使用 TLS 1.2 的最低版本是多少?
我需要更新 LWP 吗?我相信我的 LWP 版本是 5.805(使用 perl -MLWP -le "print(LWP->VERSION)"
)
需要进入lwp-request
脚本手动修改吗?
或者是否有另一个命令使用 TLS 1.2 执行等效的工作?
鉴于您的 Perl 版本非常旧(5.8.8,其中 5.8.9 是 2008 年发布的)和 LWP(5.805、5.806 是 2007 年发布的)在非常旧的 OS(SCO OpenServer 5.0.7 ,最后一次更新大约在 2009 年左右)很可能您还 运行 正在使用一个非常旧的 OpenSSL 版本。 TLS 1.2 仅在 2008 年指定,并且仅在 03/2012 发布的 1.0.1 中在 OpenSSL 中可用,即在您的系统进行任何软件更新后几年。
你可以用 openssl version
检查它,我猜它说的是关于版本 0.9.8,即太旧了。
要使 TLS 1.2 在这个旧系统上工作,您需要编译更新版本的 OpenSSL(至少是最新的 1.0.1)并重建与 OpenSSL 接口的 Perl 模块,以便它们使用这个新版本。根据您的设置,这可能是 Crypt::SSLeay 或 Net::SSLeay。考虑到您的系统有多旧,您 运行 遇到各种编译问题的可能性并不大,因为大多数人不希望有人试图在过时的系统上编译更新的软件。因此,将所有内容升级到最新且受支持的 OS 而不是尝试与旧系统作斗争可能会更容易。
一年多来,我们一直在通过我们的 Unix 服务器(特别是 SCO Openserver 5.0.7)使用运输 API。
我们的系统生成 XML 个文件,使用 lwp-request
command 将它们发送到服务器,接收响应,解释它,并根据我们的系统需要进行处理。
我们使用的确切命令是:
lwp-request -m POST https://url.com < REQUESTFILE.XML > RESPONSEFILE.XML
运输公司正在升级所有服务器以要求 TLS 1.2,现在我得到
500 SSL negotiation failed:
作为使用此命令时的响应。
我不确定如何使我们的系统兼容。
我需要更新 Perl 吗? (当前版本是为 i586-pc-sco3.2v5.0 构建的 v5.8.8)。如果可以,使用 TLS 1.2 的最低版本是多少?
我需要更新 LWP 吗?我相信我的 LWP 版本是 5.805(使用
perl -MLWP -le "print(LWP->VERSION)"
)需要进入
lwp-request
脚本手动修改吗?或者是否有另一个命令使用 TLS 1.2 执行等效的工作?
鉴于您的 Perl 版本非常旧(5.8.8,其中 5.8.9 是 2008 年发布的)和 LWP(5.805、5.806 是 2007 年发布的)在非常旧的 OS(SCO OpenServer 5.0.7 ,最后一次更新大约在 2009 年左右)很可能您还 运行 正在使用一个非常旧的 OpenSSL 版本。 TLS 1.2 仅在 2008 年指定,并且仅在 03/2012 发布的 1.0.1 中在 OpenSSL 中可用,即在您的系统进行任何软件更新后几年。
你可以用 openssl version
检查它,我猜它说的是关于版本 0.9.8,即太旧了。
要使 TLS 1.2 在这个旧系统上工作,您需要编译更新版本的 OpenSSL(至少是最新的 1.0.1)并重建与 OpenSSL 接口的 Perl 模块,以便它们使用这个新版本。根据您的设置,这可能是 Crypt::SSLeay 或 Net::SSLeay。考虑到您的系统有多旧,您 运行 遇到各种编译问题的可能性并不大,因为大多数人不希望有人试图在过时的系统上编译更新的软件。因此,将所有内容升级到最新且受支持的 OS 而不是尝试与旧系统作斗争可能会更容易。