【问题标题】:Various issues with private SSL Certificates and CA私有 SSL 证书和 CA 的各种问题
【发布时间】:2016-12-28 22:06:58
【问题描述】:

这个问题是相当开放式的,因为坦率地说,我不是 SSL 证书方面的专家,而且它会影响多种语言的代码。它甚至可能不是“代码”问题,更多的是基础设施问题,但在这一点上,我只需要有人为我指明正确的方向。我最近获得了我的 IT 部门颁发的专用网络内部服务证书。我正在使用 Nginx 监听 443 并将 80 重定向到 443。在 Chrome 中一切似乎都很好,但是当切换到 Firefox 时问题开始出现。 Firefox 将站点视为自签名证书,您需要明确指示忽略该站点。问题并没有就此结束,我的 Chef 食谱现在在任何访问我的内部服务(API、文件复制等)的任何地方都失败了,并出现以下类型的错误:

================================================================================
       Error executing action `create` on resource 'remote_file[Download Installer]'
       ================================================================================

       OpenSSL::SSL::SSLError
       ----------------------
       SSL Error connecting to http://service.domain.com/download/client - SSL Error connecting to https://service.domain.com/download/client - SSL_connect returned=1 errno=0 state=error: certificate verify failed

我在 Ruby 和 NodeJS 库中看到了同样的错误。通过将库设置为忽略不受信任,我已经能够在很大程度上解决它,但这是一个临时修复。我需要了解为什么会这样。我的证书颁发机构是否设置不正确,我是否需要让 IT 人员更改一些配置?我是否需要将证书复制到需要访问这些 HTTPS 服务的每台机器上?为什么 Chrome 可以正常工作?我在本地机器上搜索了我可能在本地拥有的证书,这导致我在 Chrome 测试中得到误报,但我在本地没有任何应该有任何影响的东西。 Chrome 似乎正在通过网络解析 CA? (这就是我假设它的工作方式)非常感谢任何帮助,谢谢。

【问题讨论】:

  • IT 人员需要确保他们的签名证书受到所有客户的信任。这不是你的问题,而是他们的问题。
  • 非常感谢!我将根据这个答案进行研究并询问 IT 人员。

标签: ssl openssl certificate ssl-certificate certificate-authority


【解决方案1】:

我是否需要将证书复制到需要访问这些 HTTPS 服务的每台机器上?为什么 Chrome 可以正常工作?

应该使用此连接到使用内部 CA 的主机的每个客户端都必须信任此 CA。我的猜测是管理员确保 CA 包含在所有机器上的 Windows 信任库中,因为这可以通过策略轻松完成。但是,Firefox、Ruby、NodeJS 和 Java(以及其他各种工具)都没有使用 Windows 信任库,但它们都有自己的。因此,本地 CA 也必须包含在所有这些信任库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-17
    • 2019-05-25
    • 2019-01-26
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 2015-03-15
    相关资源
    最近更新 更多