【发布时间】:2022-01-13 20:10:32
【问题描述】:
我有以下自签名证书链:
RootCA -> IntermediateCA(由根签名)-> 服务器证书(TLS 的叶子,由中间签名)
RootCA 的 MaxPathLen = 0
我的证书是使用 CreateCertificateAuthority 和 CreateIntermediateCertificateAuthority 使用 certstrap 生成的,所以我假设默认设置是正确的。但是,当我尝试让我的自签名证书与 Python 或 Node 客户端一起使用时,我遇到了 path length constraint exceeded 错误。
注意:使用 Go TLS 客户端时,只需提供中间 CA 证书,设置就可以正常工作。 Python 和 Node 似乎需要完整的证书链,因此问题出现了。
来自rfc5280我看到声明:
在这种情况下,它给出了 非自行颁发的中间证书的最大数量 在有效的证书路径中遵循此证书。
我对@987654325@ 感到困惑。这是否暗示我的链是有效的,因为 RootCA 签署了中间(因此它是不是非自发行的)。或者它是无效的,因为中间体算作non-self-issued 证书。 self 到底指的是什么?它可能是自签名或 rootca 是 self。
在这种情况下,我的 rootCA 是否应该有一个 MaxPathLen 为 1?
【问题讨论】:
标签: python go ssl ssl-certificate x509certificate