有人可以确认(或者更好地告诉我为什么我可以完成以下任务)我的理解/问题
我使用微软CA(域join)从我已经阅读这里和其他博客文章我不能使用名称contrains限制发行证书,当我想限制的域名只出现在通用名称 (如CN =)整体主题名称字段的一部分。
例如
可以说我想限制为MyDomain.com颁发任何证书
如果我有一个包含主题名称的证书签名请求
CN = www.MyDomain.com,OU = IT,O = MYORG,L =普尔,S =多塞特,C = GB
在证书签名请求中也没有主题备选名称 。
尽pipe我在DNS(排除)部分的CA证书中有命名的例子
DNS = .MyDomain.com DNS = MyDomain.com
CA仍然会颁发证书。
如果我随后将诸如www2.MyDomain.com之类的内容添加到证书签名请求的SAN,则CA会按预期拒绝该请求
那么从我所看到和阅读的内容来看,名词条约不适用于主题名称的CN =(通用名称)元素?
由于WEB服务器SSL / TLS会查看CN =域名匹配(如果没有SAN存在)接受证书,看起来像没有解决scheme,除非我失去了一些东西?
我将不胜感激任何投入
谢谢__AAnotherUser
从RFC 5280 :
符合此configuration文件的应用程序必须能够处理强加在directoryName name窗体上的名称约束,并且应该能够处理强加在rfc822Name,uniformResourceIdentifier,dNSName和iPAddress名称窗体上的名称约束。
目录名(CN是其中的一部分)和dNSName(它是subjectAltName)的约束是两种不同types的约束,两者都必须出现在CA证书中。
顺便说一句:CA /浏览器论坛不再允许没有SAN的服务器证书。