我们有我们网站的内部测试版本,可以(通过内部 DNS 区域)访问 www.mysite.com.test
我想为 www.mysite.com.test 创建一个 SSL 证书,这样我们的测试人员就不会收到无效证书警告(“真实”证书绑定到 www.mysite.com)
我知道如何使用 OpenSSL 创建自签名证书,但我想知道是否有某种方法可以将证书颁发机构与我们的 Active Directory 域相关联,以便作为该域成员的 PC 上的任何用户都将接受自-签名证书而无需显式安装(或显式安装自签名证书颁发机构作为受信任的颁发机构)
有任何想法吗?
您可以通过组策略添加受信任的根。因此,制作一个自签名证书,将其作为受信任的根推出,然后您使用它签署的任何证书都将受到信任。
不需要设置 MS 证书颁发机构
如果您有一台运行 AD CS 角色的服务器颁发证书,那么它不再是自签名的,它是由您的内部 CA 颁发的。要回答更大的问题,是的,您可以这样做。您必须安装 Active Directory 证书服务角色并从那里创建/分发 te 证书。对于此用例,无需接触 OpenSSL。
准确回答您的问题:不,您不能使用 Active Directory 创建自签名证书。但是,我认为您的问题混合了不同的东西。
要创建自签名证书,您有很多选择。如果您是 windows 商店,最简单的方法是通过 IIS 来完成(参见:http ://technet.microsoft.com/library/cc753127%28WS.10%29 )。您也可以使用 OpenSSL(相当混乱但有效)、.NET SDK 附带的 makecert.exe 工具或许多类似工具(我为此使用我自己的工具,但这只是我自己的工具)。
要将 CA 与 AD 集成,最简单的方法是在机器上安装证书服务角色并将其配置为 AD 集成(尽管在您的情况下,除非您想将其用于其他用途,否则它似乎不是必需的).
最后,您可能想要创建自己的未与 AD 集成的根目录。除非你必须使用客户端证书身份验证,否则你有许多不同的服务器(具有不同的名称)你想在测试中使用(可能还有自动化测试)或者如果你想能够测试你的应用程序的某些方面使用特殊证书属性或链接,这可能不值得麻烦。
在你的情况下,假设我理解正确并且你想要做的就是使用证书测试你的网络应用程序,我要做的就是生成一个自签名证书(使用你最喜欢的任何工具)然后将该证书安装在在您的测试机器上正确存储(以避免证书警告和错误)
你不能。简单点 - AD 不是 CA。就这么简单。
WIndows 有一个可以安装的 CA 组件,但它不是 AD。这是一个单独的角色。但是,一旦你这样做了——为什么要使用自签名证书呢?