小编Dav*_*gan的帖子

使用 OpenSSL 客户端连接到 URL 可以工作,但curl 失败

我有一台 CentOS 5.9 服务器,我需要从该服务器与另一台服务器建立 SSL 连接。远程服务器具有最终由 GeoTrust Global CA 签名的证书。在撰写本文时,该证书是GeoTrust 下载页面上列出的第二个证书。我得到的结果不一致,具体取决于我使用 OpenSSL 还是curl 进行连接:

openssl s_client -connect <server>:443 -CAfile /path/to/GeoTrustCA.pem
Run Code Online (Sandbox Code Playgroud)

工作正常,但是

curl --cacert /path/to/GeoTrustCA.pem https://<server>/
Run Code Online (Sandbox Code Playgroud)

失败并出现标准“无法验证证书”错误。

以下是我正在使用的工具的详细信息:

$ curl --version 
curl 7.15.5 (i386-redhat-linux-gnu) libcurl/7.15.5
OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 Protocols: tftp ftp telnet dict
ldap http file https ftps  Features: GSS-Negotiate IDN IPv6 Largefile
NTLM SSL libz
Run Code Online (Sandbox Code Playgroud)

$ openssl version
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Run Code Online (Sandbox Code Playgroud)

我很困惑。我连接的服务器多年来一直工作没有明显问题:我从未听说过任何人或任何系统无法像这样连接到它。

ssl centos openssl curl

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

centos ×1

curl ×1

openssl ×1

ssl ×1