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

时间:2011-08-16 20:19:58

标签: windows iis iis-6 ssl-certificate

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

根据我的理解,我需要:

  1. 创建证书
  2. 将证书分配给网站
  3. 向网站添加安全(SSL / 443)绑定
  4. 如果已经创建了站点证书,我还想避免创建新证书。这样我就不会得到一堆还原剂证书。

2 个答案:

答案 0 :(得分:17)

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

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

这是我们使用的命令行 - 它将使用1024的密钥大小创建证书(对于localhost),信任它,并使其有效约10年:

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

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

注意:这也像WinXP上的IIS 5一样,但我从来没有尝试过任何IIS 7系列。

答案 1 :(得分:1)

如果您正在使用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似乎有错误,似乎是resolved

如果您仍然遇到它,可以选择切换到具有类似语法的SSLDiag工具:

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

我没有其他安装创作工具(InstallShield等)的经验,但我确信他们有运行命令行程序的条款。最坏的情况是,您可以通过批处理文件运行它!

希望这有帮助。