对于 CA 类型的基本约束,路径长度为 0 和 None 是否相同?澄清一下,路径长度为 0 是否意味着 CA 不能颁发证书,而路径长度为 none 是否意味着它可以颁发无限数量的证书?
取自RFC 5280 https://www.rfc-editor.org/rfc/rfc5280#page-39,第 4.2.1.9 节:
pathLenConstraint 为零表示有效证书路径中不能遵循非自行颁发的中间 CA 证书。在出现的地方,pathLenConstraint 字段必须大于或等于零。如果没有出现pathLenConstraint,则不施加任何限制。
I.e. a pathLenConstraint
0 仍然允许 CA 颁发证书,但这些证书必须是最终实体证书(BasicConstraints 中的 CA 标志为 false - 这些是颁发给个人或组织的“正常”证书)。
它还意味着,使用此证书,CA 不得颁发中间 CA 证书(其中 CA 标志再次为 true - 这些证书可能会颁发更多证书,从而增加pathLen
by 1).
缺席的pathLenConstraint
另一方面意味着考虑到从最终实体证书构建的证书路径长度没有限制,该最终实体证书将导致我们的示例 CA 证书。这意味着该 CA 可以为子 CA 颁发中间证书,该子 CA 可以再次颁发中间证书,该子 CA 可以再次......直到最后一个子 CA 颁发最终实体证书。
If the pathLenConstraint
给定 CA 证书的 大于 0,则它表示从最终实体证书到 CA 证书构建的路径中可能的中间 CA 证书的数量。假设 CA X 有一个pathLenConstraint
2、最终实体证书颁发给EE。那么以下场景是有效的(我表示中间CA证书)
X - EE
X - I1 - EE
X - I1 - I2 - EE
但这种情况以及那些具有更多中间 CA 的情况并非如此
X - I1 - I2 - I3 - EE
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)