> 因为它不包含任何 IP SAN - Hyperledger Fabric-CA,docker,ssl,openssl,hyperledger-fabric,tls1.2"/>

首页 > 解决方案 > x509: 无法验证 <> 因为它不包含任何 IP SAN - Hyperledger Fabric-CA

问题描述

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

标签: dockersslopensslhyperledger-fabrictls1.2

解决方案


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


推荐阅读