是否有可能信任Windows中的证书,而不信任其根CA?

是否有可能让Windows信任一个证书,而不需要信任根CA作为受信任的根CA?

说我有以下证书链,

Dept-Root-CA Dept-Intermediate-1 Server-Certificate 

我想信任服务器证书,但不想相信Dept-Root-CA,因为它可以签署任何证书,我的服务器会信任它。 仅仅因为我愿意相信服务器证书上的证书来进行特定的操作,并不意味着我愿意相信Dept-Root-CA已经得到适当的保护。

谢谢

不,只要证书上写着“xxx:xxxxx”,那么你还必须信任xxx,一路上涨。 如果是自签名证书,则可以将其放入受信任的根CA存储中,并且由于它是由同一实体颁发和发布的,因此应当信任它。

但是,不能完全规避基于证书的安全性的整个目的是不可行或不可行的。

那么….你可以用另一种方式捕获这些信任信息。

不幸的是,这有点复杂。

创build自己的CA,然后通过在您的CA上签名证书,为Dept-Intermediate-1(或Dept-Root-CA)创build自己的交叉签名发行者,可能会添加域限制。 如果“真正的”Dep-Intermediate-1被取消激活(最好)或未知,窗口将使用您的信任链。

在这里看到我的其他答案: 限制根证书到域

这就是证书应该如何工作,用数字签名来表示关键所有权的主张。 由于您要声明证书和密钥属于服务器,所以您必须在您的授权下自行签名,然后告诉系统信任您。

没有 CA层次结构的证书还有很多实用工具,比SSH密钥提供的要高; 其中一部分是对他们的限制。 密钥用法,有效date,撤销信息,域名限制等。另一部分是识别信息; 拥有密钥的服务器,颁发者的身份,强制执行的CA策略,密钥存储信息等。