-1

我正在尝试从 azure blob 容器中的 azure storage explorer 下载文件。但是下载失败并显示成功消息,并出现以下错误。

{

“名称”:“错误”,

"message": "证书链中的自签名证书",

"stack": "错误:证书链中的自签名证书\n 在 TLSSocket。(_tls_wrap.js:1088:38)\n 在 emitNone (events.js:86:13)\n 在 TLSSocket.emit (events.js :188:7)\n 在 TLSSocket._finishInit (_tls_wrap.js:610:8)\n 在 TLSWrap.ssl.onhandshakedone (_tls_wrap.js:440:38)",

“代码”:“SELF_SIGNED_CERT_IN_CHAIN”

}

有人可以解释一下这个问题吗?

谢谢,阿伦

4

1 回答 1

1

证书链中的自签名证书

SELF_SIGNED_CERT_IN_CHAIN表示 Azure 不再知道收到的 HTTPS 消息是否被篡改。您还可以从Azure 存储资源管理器故障排除指南中获得答案。

根本原因 :

错误:证书链中的自签名证书

您可能会遇到此错误的原因有多种,最常见的两个原因如下:

该应用程序通过“<strong>透明代理”连接,这意味着服务器(例如您的公司服务器)正在拦截 HTTPS 流量,对其进行解密,然后使用自签名证书对其进行加密。

您正在运行一个应用程序,例如防病毒软件,它将自签名 SSL 证书注入到您收到的 HTTPS 消息中。

解决方案:

您可以让 Storage Explorer 信任它。

当 Storage Explorer 遇到其中一个问题时,它就无法知道收到的 HTTPS 消息是否被篡改。如果您有自签名证书的副本,则可以让 Storage Explorer 信任它。如果您不确定是谁在注入证书,请按照以下步骤查找它:

  1. 安装 Open SSL

    • Windows(任何轻型版本都应该足够)
    • Mac 和 Linux:应包含在您的操作系统中
  2. 运行 Open SSL

    • Windows:打开安装目录,点击/bin/,然后双击openssl.exe。
    • Mac 和 Linux:从终端运行 openssl。
  3. 执行 s_client -showcerts -connect microsoft.com:443

  4. 查找自签名证书。如果您不确定哪些是自签名的,请查找主题(“s:”)和颁发者(“i:”)相同的任何地方。

  5. 当您找到任何自签名证书时,对于每个证书,将 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 中的所有内容复制并粘贴到新的 . cer 文件。打开存储资源管理器,单击编辑 > SSL 证书 > 导入证书,然后使用文件选择器查找、选择和打开您创建的 .cer 文件。


如果使用上述步骤找不到任何自签名证书,请通过反馈工具联系 Azure 团队以获取更多帮助

于 2017-12-08T01:54:15.993 回答