我得到下面的错误,同时与自签名证书的SSL连接。 “同等证书不能与已知的CA证书进行身份验证”
这是工作的罚款与CA签名的证书。 我设置了以下使用curl_easy_setopt()。
curl_easy_setopt(MyContext,CURLOPT_CAPATH,CA_CERTIFICATE_PATH)curl_easy_setopt(MyContext,CURLOPT_SSL_VERIFYPEER,TRUE);
卷曲版本
libcurl中,7.19.7-26
OpenSSL的版本是0_9_8u。
请让我知道如何解决这个问题。
为PHP关掉证书例如卷曲的验证curl_exec
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
http://php.net/manual/en/function.curl-setopt.php
(评价自己的安全风险,在我的情况,这是一个合作伙伴公司的服务器上,并且所需的文件不包含任何安全信息 - 正好是一个安全的服务器上)
默认情况下,卷曲一般会验证SSL证书,看其是否有效,并通过一个公认的CA颁发 要做到这一点,卷曲采用了束集合CA证书。
如果您想关闭该证书的卷曲的验证,使用-k(或--insecure)选项。 下面是一个例子:
curl --noproxy -k \* -D - https://127.0.0.1:443/some-secure-endpoint
我们通过更新卷曲标准库提供的最新版本,然后安装最新的CA证书捆绑固定在CentOS 6类似的问题:
yum update curl
yum install ca-certificates
libcurl的默认执行对SSL证书验证。 这是通过使用SSL库可以使用,以确保对等的服务器证书是有效的CA证书捆绑进行。
如果您使用HTTPS或者FTPS使用由存在于捆绑的CA签名的证书服务器进行通信,可以肯定的是,远程服务器确实是它自称是一个。
直到7.18.0,卷曲捆绑这是默认安装的一个严重过时的CA包文件。 这些天来,卷曲档案不包含CA证书的。 你需要让他们在其他地方。 请参见下面的例子。
欲了解更多了解同行SSL证书验证登陆http://curl.haxx.se/docs/sslcerts.html
虽然在使用的情况下发生这种错误git clone
使用,而不是curl
,我最近偶然发现了一个相同的错误信息:
同等证书不能与已知的CA证书进行身份验证
类似的阿瑟的调查结果 ,这东西(为了成功地使用HTTPS URL以工作为CentOS 6 git clone
相关GitLab库)所涉及的服务器上更新可信证书(即,使用HTTPS服务器上),使用下面的步骤 :
-
sudo yum install ca-certificates
-
sudo update-ca-trust enable
-
sudo cp /path/to/your_new_cert.crt /etc/pki/ca-trust/source/anchors/
-
sudo update-ca-trust extract
也许相同的证书的步骤可应用于的情况下curl
(或其他类似的情形),用于在未来CentOS用户。
在“C”
curl_easy_setopt(curl_handle,CURLOPT_SSL_VERIFYPEER,0);
工作对我来说
文章来源: Getting error in Curl - Peer certificate cannot be authenticated with known CA certificates