IIS6:从命令行创build/安装SSL自签名证书

我想在IIS6中自动为网站设置SSL。 它似乎selfSSL和certutil可以用来做到这一点,但证书对我来说是新的,我不确定如何把它们放在一起。

从我的理解我需要:

  1. 创build一个证书
  2. 将证书分配给网站
  3. 添加一个安全的(SSL / 443)绑定到网站

如果站点证书已经创build,我也想避免创build一个新的证书。 这样我不会得到一堆redudant证书。

我建议你看看IIS 6资源工具包: http : //www.microsoft.com/download/en/details.aspx? displaylang=en& id=17275

资源工具包中有一个名为selfssl.exe的工具 – 它可以自动创建,分配甚至信任新创建的证书。 我们在相当多的地方使用它,以确保我们的开发盒拥有我们可以在测试/开发过程中使用的证书。

这里是我们使用的命令行 – 它将使用1024的密钥大小创建证书(对于本地主机),信任它,使其有效期约10年:

selfssl.exe /T /N:CN=localhost /K:1024 /V:3650 

如果要托管多个站点,则需要使用/S参数指定要将证书添加到的站点标识。

注意:这也像WinXP上的IIS 5的冠军,但我从来没有尝试过任何的IIS 7家庭。

如果您使用Wix创作您的设置,那么运行这个CustomAction (它简单地运行SelfSSL )将为您做好准备:

 <CustomAction Id="InstallCert" ExeCommand="selfssl.exe /N:CN=fqdn.myserver.com /V:365" /> <InstallExecuteSequence> <Custom Action="InstallCert" After="InstallFinalize" /> </InstallExecuteSequence> 

这一行动将

  • 生成证书
  • 将证书安装到Default Web Site
  • 添加https绑定

命令行解释:

 /N:CN=[fully qualified server name] /V: = Validity in days (365 in my example) 

您可以使用/P:[port number]开关指定端口。 默认是443这是你想要的,所以你可以把它留在外面。

警告 :似乎已经解决了SelfSSL的错误。

如果你仍然遇到它,另一种方法是切换到具有类似语法的SSLDiag工具:

 SSLDiag.exe /selfssl /n:CN=fqdn.myserver.com /v:365 

我没有其他设置创作工具(InstallShield等)的经验,但我相信他们有运行命令行程序的条款。 最坏的情况下,你可以通过批处理文件运行这个!

希望这可以帮助。