在 Debian 8 上安装用于 curl/openssl 连接的中级证书。

在 Debian 8 上安装用于 curl/openssl 连接的中级证书。

我尝试通过 php 的 stream_socket_client() 命令连接一个 URL,但失败了,没有错误代码或消息。这是否使用了 openssl、curl 或其他东西?该网站使用 https,并且可以通过 Web 浏览器正常运行。

在此处输入图片描述

当我直接调用 openssl 时,它会连接,但我的证书链似乎不兼容。

root@drupal7 drupal7/includes# openssl s_client -connect test.cgps.org:443
CONNECTED(00000003)
Verify return code: 21 (unable to verify the first certificate)

与 curl 相同

curl https://test.cgps.org/?q=/admin/config/search/clean-urls/check
curl: (60) SSL certificate problem: unable to get local issuer certificate

因此我认为我需要将中级证书安装到 Linux 中,我将 Apache 使用的相同中级证书放入 /usr/local/share/ca-certificates 并运行 update-ca-certificates。

root@drupal7 drupal7/includes# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.

还是没有运气...

相关内容