首页 > 解决方案 > 为什么我无法从服务器下载 https 对等证书颁发者无法识别。颁发者:CN=Cisco Umbrella Secondary SubCA

问题描述

在客户端上,我可以访问网站,但不能从服务器访问,我得到以下信息:

curl -v https://objectstorage.us-ashburn-1.oraclecloud.com
* About to connect() to objectstorage.us-ashburn-1.oraclecloud.com port 443 (#0)
*   Trying 146.112.240.206...
* Connected to objectstorage.us-ashburn-1.oraclecloud.com (146.112.240.206) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Server certificate:
*   subject: CN=objectstorage.us-ashburn-1.oraclecloud.com,O="Cisco Systems, Inc.",L=San Francisco,ST=California,C=US
*   start date: Dec 12 13:23:10 2020 GMT
*   expire date: Dec 17 13:23:10 2020 GMT
*   common name: objectstorage.us-ashburn-1.oraclecloud.com
*   issuer: CN=Cisco Umbrella Secondary SubCA dfw-SG,O=Cisco
* NSS error -8179 (SEC_ERROR_UNKNOWN_ISSUER)
* Peer's Certificate issuer is not recognized.
* Closing connection 0
curl: (60) Peer's Certificate issuer is not recognized.
More details here: http://curl.haxx.se/docs/sslcerts.html

或使用较新的卷曲

curl: (60) SSL certificate problem: unable to get local issuer certificate

标签: curlssl-certificate

解决方案


原来问题出在“中间人”防火墙上。通常它会说该 URL 的颁发者是“Oracle”,但可疑的是它说的是“Cisco”。我的公司防火墙正在拦截呼叫并将它们重定向以添加标签,然后才最终允许它们工作(他们这样做)。或者它可能会拦截它们以显示“被阻止/恶意软件”页面。

它在我的本地计算机上工作,因为它是“公司发行的”,并且他们手动安装了显然不是常见的或标准浏览器接受的 cisco CA。

对我来说,修复是从这里下载“伞”CA:

https://support.opendns.com/hc/en-us/articles/227987007-Block-Page-Errors-Installing-the-Cisco-Umbrella-Root-CA#CERT

并在服务器上使用它:

 curl --cacert cisco_umbrella.cer https://somewebpage

(或将其添加到系统中您信任的 CA 证书中)。

同样奇怪的是,防火墙似乎拦截了一些 https 请求,但没有拦截其他请求。

(如果您将 DNS 设置为指向 opendns 服务器显然也可能会遇到此问题)

其他目击:

https://github.com/neherlab/covid19_scenarios/issues/516

https://community.letsencrypt.org/t/cert-is-suddenly-different-as-seen-in-browser-from-remote/87283

https://www.reddit.com/r/TOR/comments/f8cvq7/ubuntu_server_cannot_verify_certificate_issued_by/


推荐阅读