跳到主要内容
ecdsa.com

名称约束

仅允许出现在 CA 证书中的 X.509 扩展(OID 2.5.29.30),通过由 DNS 名称、IP 地址范围、电子邮件域名和目录名称构成的允许子树与排除子树,限制下级证书可以包含的名称。
其他写法nameConstraintspermittedSubtreesexcludedSubtreestechnically constrained sub-CA

permittedSubtrees 为 dNSName: example.com 的受约束中间 CA 只能为 example.com 及其子域名签发证书;添加排除子树可以去掉特定的名称。验证者会在路径验证(RFC 5280 §6.1.3)期间,把这些约束应用到该 CA 之下的每一张证书。

这是委托签发权限的安全方式:组织可以获得一个仅限于自有域名、经过技术约束的中间 CA,CA/Browser Forum 在审计要求上也对这类从属 CA 区别对待。过去各实现的支持参差不齐(有些客户端忽略该扩展,有些遇到标记为关键的名称约束就会出错),但现代浏览器、OpenSSL、Go 和 Java 都会强制执行它。

常见陷阱:针对 DNS 名称的约束不会自动覆盖只写在主体 commonName 中的主机名,因此仍然读取 CN 的验证者可能会被蒙骗;IP 约束则需要同时给出地址和掩码。

标准与参考资料

全部术语