curl: (60) 对等的证书颁发者无法识别。

Posted

技术标签:

【中文标题】curl: (60) 对等的证书颁发者无法识别。【英文标题】:curl: (60) Peer's Certificate issuer is not recognized 【发布时间】:2018-05-20 11:50:06 【问题描述】:

我正在尝试按照https://www.microsoft.com/net/learn/get-started/linuxcentos 上的步骤在centos 7 上安装.net core SDK 2.0.0

当我运行第一个命令时sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

得到这个错误:

`curl: (60) Peer 的证书颁发者无法识别。 更多细节在这里:http://curl.haxx.se/docs/sslcerts.html

curl 默认执行 SSL 证书验证,使用“bundle” 证书颁发机构 (CA) 公钥(CA 证书)。如果默认 捆绑文件不够用,您可以指定一个备用文件 使用 --cacert 选项。 如果此 HTTPS 服务器使用由 CA 签名的证书 捆绑包,证书验证可能由于以下原因而失败 证书有问题(它可能已过期,或者名称可能 与 URL 中的域名不匹配)。 如果您想关闭 curl 对证书的验证,请使用 -k(或 --insecure)选项。 错误:https://packages.microsoft.com/keys/microsoft.asc:导入读取失败(2)`

我在公司代理后面,这个错误似乎与 SSL 证书和 curl 有关。但我不知道如何解决它。 当我使用 curl 或 wget 下载 https url 时也会出现类似的错误。

【问题讨论】:

【参考方案1】:

在我的情况下,我使用的自签名 ssl 证书已过期,因此在 cent OS 7 上我运行以下命令,但将天数从“-days 365”增加到“-days 1400”,这大约是 4 年的保证.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

更多信息在这里:https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-apache-for-centos-7

【讨论】:

【参考方案2】:

检查您的服务器是否有有效的代理设置。

【讨论】:

欢迎来到 SO。这似乎没有回答 OP,并且可以作为评论发布。详情请查看how-to-answer。【参考方案3】:

我遇到了同样的问题,然后只是暂时关闭了 SSL 检查并安装了软件包。但请注意,这是绕过安全措施,因此请谨慎使用。

sudo vi /etc/yum.conf 

然后在编辑器上添加以下行

sslverify=false

【讨论】:

对我来说就像宝石一样工作。谢谢。 我需要 sslverify=0 代替【参考方案4】:

你可以这样做:

wget --no-check-certificate https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc

祝你好运:)

【讨论】:

【参考方案5】:

终于修好了。在此处发布答案作为参考。

导出公司受信任的根证书,扩展名为 .cer。命名外部根证书的东西 使用openssl x509 -in xxx.cer -inform der -outform pem -out xxx.pem 将 ca 文件转换为 .pem 文件

然后在centos 7 os上:

安装 ca-certificates 包:yum install ca-certificates

启用动态 CA 配置功能:update-ca-trust 强制启用

将导出的 pem 文件添加到 /etc/pki/ca-trust/source/anchors/

使用命令:update-ca-trust extract

参考文献:

https://support.ssl.com/Knowledgebase/Article/View/19/0/der-vs-crt-vs-cer-vs-pem-certificates-and-how-to-convert-them

http://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html

【讨论】:

您怎么知道必须将它们转换为 .pem?您引用的链接使您看起来可以添加 .crt 并更新 CA 存储,无需转换。 谢谢。为我工作!

以上是关于curl: (60) 对等的证书颁发者无法识别。的主要内容,如果未能解决你的问题,请参考以下文章

Curl 响应失败:mailwizz 上的“无法获取本地颁发者证书”

连接到 CommissionJunction 令牌时出错:[60] SSL 证书问题:无法获取本地颁发者证书

facebook auth cURL 错误 60:SSL 证书

AWS HTTP错误:cURL错误60:无法使用gi证书对对等证书进行身份验证

Guzzle Curl 错误 60 SSL 无法获取本地发行者

Paypal Access - SSL 证书:无法获取本地颁发者证书