我想在IIS6中自动为网站设置SSL。 它似乎selfSSL和certutil可以用来做到这一点,但证书对我来说是新的,我不确定如何把它们放在一起。
从我的理解我需要:
如果站点证书已经创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
命令行解释:
/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等)的经验,但我相信他们有运行命令行程序的条款。 最坏的情况下,你可以通过批处理文件运行这个!
希望这可以帮助。