如何使两个独立ActiveDirectory域上的最终用户信任私有SSL证书

我有一个使用SSL的Web应用程序。 该网站是不公开面对的,只有在我们的企业私人内部访问。

出于安全原因,我们运行两个独立的Active Directory域和networking,但是这个特定的Web应用程序可以被来自这两个域的用户访问。 我们在每个域上维护专用CA,为Web服务器生成证书。

有问题的Web应用程序拥有由CA之一颁发的有效证书,并且该域中的所有用户都“信任”该网站。 其他域的用户可以访问该网站,但会显示证书警告。

由于我不想训练用户忽略警告,我想在CA之间build立某种信任关系,但是我不知道如何去做。

所以重申…

DOMAIN1和DOMAIN2各自拥有自己的证书颁发机构。 WEBAPP是DOMAIN1的成员,并且具有来自DOMAIN1证书颁发机构的签名SSL证书,因此所有DOMAIN1用户都信任该证书。 DOMAIN2的所有用户都会收到证书错误。

证书似乎不可能由多个证书颁发机构颁发 – 这是一种直接的亲子关系。

我能想到的两个选项:

  • 在domain2中信任domain1的CA。 可以将其导入到AD证书库中,也可以通过组策略直接应用。
  • 在Web服务器上设置一个独立的侦听器,在域2客户端将访问的不同端口或IP上,使用从domain2的CA颁发的证书。

我猜你的安全原因不能在两者之间build立域名信任。

所以说:从DOMAIN1导出根CA证书。 通过 DOMAIN2中的GPO将其作为受信任的根CA发布。 您的用户应该停止看到不可信的CA警告。

或者,如果有问题的内部网站具有可公开路由的FQDN(即site.com而不是site.local),则可以通过从eNom或类似供应商那里获得10个buck证书来节省大量时间和麻烦。 如果需要花费很多时间进行configuration,那么花10美元就可以获得一个好的商业案例,而不是花更多的时间。