有人可以确认一下(或者最好告诉我为什么如果可能的话我可以实现以下目标)我的理解/问题
我使用 Microsoft CA(域加入),根据我在这里和其他博客文章中读到的内容,当我想要限制的域名出现时,我无法使用名称约束来限制证书的颁发仅在通用名称中(例如 CN=)整体主题名称字段的一部分。
例如
假设我想限制任何证书的颁发我的域名
如果我有一个证书签名请求,其中包括主题名称
CN=www.MyDomain.com,OU=IT,O=MyOrg,L=Poole,S=Dorset,C=GB
还有没有主题替代名称在证书签名请求中。
尽管我的 CA 证书在 DNS(排除)部分下有名称限制,例如
DNS = .MyDomain.com DNS = MyDomain.com
CA 仍会颁发证书。
如果我将 www2.MyDomain.com 之类的内容添加到证书签名请求的 SAN,则 CA 会按预期拒绝该请求
那么,从我所看到和读到的内容来看,名称限制不适用于主题名称的 CN=(通用名称)元素?
由于 WEB 服务器 SSL/TLS 将查看 CN= 以进行域名匹配(如果不存在 SAN)以接受证书,看起来对此没有解决方案,除非我遗漏了什么?
我将非常感激任何意见
感谢 __AAnotherUser
答案1
从RFC 5280:
符合此配置文件的应用程序必须能够处理对 directoryName 名称形式施加的名称约束,并且应该能够处理对 rfc822Name、uniformResourceIdentifier、dNSName 和 iPAddress 名称形式施加的名称约束。
目录名称(CN 是其中的一部分)和 dNSName(subjectAltName)的约束是两种不同类型的约束,它们都必须存在于 CA 证书中。
顺便说一句:CA/浏览器论坛不再允许没有 SAN 的服务器证书。