我正在尝试使用其根证书颁发机构来注册中间证书颁发机构,我正在使用TLS,并且使用fabric-ca映像在分离的docker容器中运行CA。如果我通过docker网络发送CSR没问题,但是如果我尝试通过本地网络发送CSR,我会遇到以下问题:x509:无法验证“ HOST_IP”的证书,因为它不包含任何IP SAN。我读到我的问题的原因是,TLS证书不包含IP SAN(IP主题备用名称),这是TLS证书中的一个字段,其基本内容是:“证书已颁发给主机其IP为:<1.2.3.4>”。因此,如果这是问题所在,我如何将该字段添加到我的证书中?如果不是,那是什么问题,我该如何解决?谢谢和问候!
答案 0 :(得分:0)
您可以按照here给出的说明进行类似的IP SANS问题。 HLF mailing List中也有IP SANS问题的详细说明。还要确保在使用Fabric CA Client生成证书时,请使用服务器的主机名来请求证书。例如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地址。