我想为IIS6中的网站自动设置SSL。似乎可以使用selfSSL和certutil来做到这一点,但证书对我来说是新的,我不确定如何将它们组合在一起。
根据我的理解,我需要:
如果已经创建了站点证书,我还想避免创建新证书。这样我就不会得到一堆还原剂证书。
答案 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
命令行说明:
/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等)的经验,但我确信他们有运行命令行程序的条款。最坏的情况是,您可以通过批处理文件运行它!
希望这有帮助。