首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS6:从命令行创建/安装SSL自签名证书

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

Stack Overflow用户
提问于 2011-08-16 20:19:57
回答 2查看 19.4K关注 0票数 12

我想自动化为一个网站在IIS6的SSL的设置。看来selfSSL和certutil可以用来做这件事,但是证书对我来说是新的,我不知道如何将它们组合在一起。

据我所知我需要:

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

如果网站证书已经创建,我也希望避免创建新的证书。这样我就不会有一堆红色证书了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 15:29:35

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

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

下面是我们使用的命令行-它将使用密钥大小为1024创建cert (对于localhost),信任它,并使它在10年内有效:

代码语言:javascript
复制
selfssl.exe /T /N:CN=localhost /K:1024 /V:3650

如果要承载多个站点,则需要使用/S参数指定要向其添加证书的站点id。

注意:这也像在WinXP上使用IIS5一样有效,但我从未在IIS 7家族中使用过它。

票数 17
EN

Stack Overflow用户

发布于 2011-08-25 15:30:25

如果您使用维克斯编写您的安装程序,那么运行此CustomAction (它只运行SelfSSL)将为您完成以下任务:

代码语言:javascript
复制
<CustomAction Id="InstallCert" 
              ExeCommand="selfssl.exe /N:CN=fqdn.myserver.com /V:365" /> 

<InstallExecuteSequence> 
    <Custom Action="InstallCert" After="InstallFinalize" /> 
</InstallExecuteSequence> 

此操作将

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

命令行解释:

代码语言:javascript
复制
/N:CN=[fully qualified server name]
/V: = Validity in days (365 in my example)

您可以使用/P:[port number]交换机指定端口。缺省值是443,这是您想要的,所以您可以忽略它。

警告:SelfSSL似乎有bug,似乎是已解决

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

代码语言:javascript
复制
SSLDiag.exe /selfssl /n:CN=fqdn.myserver.com /v:365

我没有使用其他安装创作工具(InstallShield等)的经验。但我相信他们有办法运行命令行程序。最糟糕的情况是,您可以通过批处理文件执行此操作!

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7084466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档