简体   繁体   English

curl服务器证书验证失败

[英]curl server certificate verification failed

I have a bunch of PHP scripts that use curl to communicate with various services. 我有一堆使用curl与各种服务进行通信的PHP脚本。 Currently, one of those services' SSL certificate got updated and my curl started crying about it when I try to get it from my server's CLI: 目前,这些服务的SSL证书之一已更新,当我尝试从服务器的CLI进行获取时,我的弯腰开始哭泣:

~$ curl https://example.com

curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL).

If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.

Currently, I hardcoded verify => false to all of my requests in order to keep my scripts operating but that's not something I would like to have laying around. 目前,我对所有请求进行了硬编码verify => false ,以保持脚本运行,但这不是我想要的。

I got the latest cacert file from mozilla , put it in /etc/ssl/certs/ca-certificates.crt and then ran sudo update-ca-certificates which ran successfully (I suppose..) 从mozilla获得了最新的cacert文件 ,将其放在/etc/ssl/certs/ca-certificates.crt ,然后运行了成功运行的sudo update-ca-certificates (我想..)

~$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

But then again curl is not too happy about it, still can't get my resource without passing the -k flag. 但是话又说回来,curl对此不太满意,如果不通过-k标志,仍然无法获取我的资源。

您可以使用openssl s_client命令进一步调试该问题,以便找出证书似乎确实存在的问题。

openssl s_client -showcerts -servername myservice.com -connect myservice.com:443

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM