一个3域控制器的SSL证书

如何为Windows域EXAMPLE.COM生成三个域控制器(dc1.example.com dc2.example.com dc3.example.com)的自签名(稍后是真正的证书的CSR)SSL证书LDAP

我相信这个主题应该是EXAMPLE.COM,三个主题替代名称是每个DC的DNS名称。

我如何最好使用openssl生成此证书,而且肯定不需要安装证书服务?

编辑:

另一个要求是仅使用内置于RHEL 6,Windows 2008 R2或可从Microsoft直接获取的软件的现有工具来完成此操作。

没有必要真的使用任何GUI包装到OpenSSL,他们从来没有包括所有的选项,并没有添加任何价值的图书馆。 打开OpenSSL控制台没有错,击中? 列出所有的命令,并find你可能需要的在线澄清,恕我直言。 ;)

首先要做的是确保在openssl安装文件夹中有一个有效的openssl.cnf文件。 如果你缺less这个文件,那么你可以从这里下载。 将这个文件放在opensslpath中,并设置所需的环境variables来指向它:

 set OPENSSL_CONF=[path & file name of your openssl.cnf file] 

您还需要一个附加的configuration文件,列出您的域控制器。 最简单的方法就是在新文件中回显你的列表:

 echo subjectAltName=DNS:dc1.example.com,DNS:dc2.example.com,DNS:dc3.example.com > example.com.cnf 

或者你可以用记事本创build一个新的configuration文件,无论如何。 它只需要这一行:

 subjectAltName=DNS:dc1.example.com,DNS:dc2.example.com,DNS:dc3.example.com 

然后启动openssl控制台(openssl.exe),并使用这两个configuration文件创build自签名证书( openssl.cnf将自动从我们之前设置的环境variablesOPENSSL_CONF使用req命令加载):

 genrsa -out example.com.key 1024 req -new -key example.com.key -out example.com.csr 

input所要求的所有数据。 如果在Web服务器上使用此证书,您可能需要跳过input密码短语( A challenge password [] ),而不是在每次重新启动时都要求input该证书。 在这种情况下只需将该字段留空即可。

我们差不多完成了。 现在我们只需要生成我们的证书,并将其他configuration文件传递给我们的DNS别名(或者你的情况下,所有三个域控制器):

 x509 -req -days 365 -in example.com.csr -signkey example.com.key -text -extfile example.com.cnf -out example.com.crt 

而已。 你应该有新的example.com.crtexample.com.keyexample.com.csr文件准备好进入你的openssl文件夹,并用我们设置的额外configuration进行更新。 您可以检查您的证书,它包括我们的DNS名称(记事本将做,这些值是明文)。

显然,你可以改变这些值来反映你的需求,这只是一个例子,用你自己的例子值。 如果您不想启动OpenSSL控制台,那么您也可以在系统控制台中运行所有这些命令,并使用openssl调用OpenSSL.exe。 这与OpenSSL控制台打开完全相同。

希望这就是你想要做的,不要犹豫,在评论中要求澄清,

干杯!

假设单个DC无法处理LDAP over SSL需求,并且SASL不是一个选项。

如果你想要一个自签名的SSL证书,你可能需要在这里findSelfssl7: http : //blogs.iis.net/thomad/archive/2010/04/16/setting-up-ssl-made-easy.aspx

它应该能够创造你正在寻找的东西。

如果没有这个框架,你会丢失证书吊销列表(CRLs),你仍然需要一种方法来安装受信任的根CA. 所以如果没有这个框架,你可能会遇到困难的时候。

证书服务内置于Windows 2008中,除了启用特性/angular色之外,您不需要任何其他东西。