【问题标题】:x509: cannot validate certificate for <<HOST IP>> because it doesn't contain any IP SANs - Hyperledger Fabric-CAx509:无法验证 <<HOST IP>> 的证书,因为它不包含任何 IP SAN - Hyperledger Fabric-CA
【发布时间】:2019-04-06 03:50:18
【问题描述】:

我正在尝试使用其根证书颁发机构注册一个中间证书颁发机构,我正在使用 TLS,并且 CA 使用 fabric-ca 映像在单独的 docker 容器中运行。如果我通过 docker 网络发送 CSR 没有问题,但如果我尝试通过本地网络发送它,我会遇到这个问题:x509:无法验证“HOST_IP”的证书,因为它不包含任何 IP SAN。我读到我的问题的原因是 TLS 证书不包含 IP SAN(IP 主题替代名称),这是 TLS 证书中的一个字段,基本上说:“证书颁发给主机它的IP是:”。那么,如果这是问题所在,我如何将此字段添加到我的证书中?如果没有,问题是什么,我该如何解决?谢谢和问候!

【问题讨论】:

  • 通过一个或另一个网络路径发送 CSR 不会更改其内容。您确定通过 docker 网络发送 CSR 时,它包含 SAN 吗?无论如何,SO 是关于编程,而不是系统管理。愿你在 ServerFault 上找到好的答案。
  • 我意识到这只是一个愚蠢的错误,我错误地命名了 csr 主机名,感谢您的帮助!

标签: docker ssl openssl hyperledger-fabric tls1.2


【解决方案1】:

您可以按照here 给出的解释处理类似的 IP SANS 问题。 HLF mailing List 中也有 IP SANS 问题的详细说明。还要确保在使用 Fabric CA 客户端时,要生成证书,请使用服务器的主机名来请求相同的证书。例如fabric-ca-client enroll -d --enrollment.profile tls -c &lt;client configuration file&gt; -u https://admin:adminpw@&lt;server hostname&gt;:7054 --csr.hosts $PEER_HOST。如果在 URL 中给出 IP 地址,TLS 握手将失败,服务器端出现 bad TLS certificate 错误,客户端出现“证书不包含 IP SANS”错误,因为用于与服务器执行握手的 ca-cert.pem 包含主机名而不是 IP 地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2022-08-09
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 2022-10-17
    相关资源
    最近更新 更多