【发布时间】:2017-01-04 16:21:42
【问题描述】:
我有 2 个 Linux 系统,其中命令 -> curl -V -> 显示如下
System-1
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
System-2
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
如果我在 System-1 上尝试使用 tlsv1.2 选项的 curl 命令,则会引发错误 -
[root@ssclnx1 ~]# curl -k -1 --tlsv1.2 --user user:pass -X GET https://HOST:9443/console/deploymnt/login
curl: option --tlsv1.2: is unknown
curl: try 'curl --help' or 'curl --manual' for more information
相同的命令在 System-2 上运行良好。
两个系统中curl版本的唯一区别是——
NSS/3.16.2.3
NSS/3.19.1
NSS 到底是什么?我需要升级什么 lib\jar\utility 才能将 NSS 升级到 3.19.1 ? 我必须向客户提出一般性建议,以便 curl tlsv1.2 选项能够正常工作。 请建议。我被阻止了。
提前致谢 -
阿比吉特。
【问题讨论】:
-
这更像是一个系统管理问题而不是软件开发问题——我不确定 StackOverflow 是否是最佳选择。更大的问题是,如果不也重新编译 curl,仅升级 NSS 可能没有帮助,除非这是运行时检查(这在此处不是常见做法)。
-
...而且,一般来说,所有这些都是你的 Linux 发行商应该为你编译的包——如果你或你的客户自己构建它们,那么有一个论点是这是问题的一部分:为什么你的系统行为不一致。