我有以下自签名证书链:
RootCA -> IntermediateCA(由根签名)-> 服务器证书(TLS 的叶子,由中间签名)
RootCA 的 MaxPathLen = 0
我的证书是使用 certstrap 生成的CreateCertificateAuthority
,CreateIntermediateCertificateAuthority
所以我假设默认设置是正确的。但是,当尝试让我的自签名证书与 Python 或 Node 客户端一起使用时,我遇到了path length constraint exceeded
错误。
注意:使用 Go TLS 客户端时,只需提供中间 CA 证书,设置就可以正常工作。Python 和 Node 似乎需要完整的证书链,因此问题出现了。
从rfc5280我看到声明:
在这种情况下,它给出了可以在有效证书路径中跟随此证书的非自发行中间证书的最大数量。
我很困惑non-self-issued intermediate certificates
。这是否暗示我的链是有效的,因为 RootCA 签署了中间(因此它不是非自发行的)。或者它是无效的,因为中间体算作non-self-issued
证书。self
这里具体指的是什么?它可能是自签名或 rootca 是自我。
在这种情况下,我的 rootCA 实际上是否应该具有 1 的 MaxPathLen?
弑天下
潇潇雨雨
相关分类