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证书对对等证书进行身份验证