卷曲:(60)Peer的证书颁发者无法识别。

时间:2017-12-06 14:43:56

标签: curl https .net-core

我试图在https://www.microsoft.com/net/learn/get-started/linuxcentos

上的步骤之后在centos 7上安装.net核心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证书验证  证书颁发机构(CA)公钥(CA证书)。如果是默认值  捆绑文件不够用,您可以指定备用文件  使用--cacert选项。 如果此HTTPS服务器使用由CA表示的CA签名的证书  捆绑,证书验证可能由于a而失败  证书问题(可能已过期,或名称可能已过期)  与URL中的域名不匹配)。 如果您想关闭curl对证书的验证,请使用  -k(或--insecure)选项。 错误:https://packages.microsoft.com/keys/microsoft.asc:导入读取失败(2)`

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

5 个答案:

答案 0 :(得分:13)

最后修好了。在这里作为参考发布答案。

  • 使用.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

答案 1 :(得分:3)

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

sudo vi /etc/yum.conf 

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

sslverify=false

答案 2 :(得分:1)

你可以这样做:

wget --no-check-certificate https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc
祝你好运:)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

在我的情况下,我使用的自签名ssl证书已过期,因此在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