Answers:
您可以使用SelfSSL.exe
IIS6资源工具包附带的工具来执行此操作。您可以从此处获取资源工具包:
http://www.microsoft.com/download/zh-CN/details.aspx?displaylang=en&id=17275
安装程序仅将工具解压缩到文件夹中,并且不会干扰您的任何计算机设置。自定义安装选项还允许您选择要安装的工具,并将其放入您自己选择的文件夹中。
打开管理员命令行,然后将目录更改为SelfSSL
命令行工具的安装目录。
要生成新的自签名SSL证书(在10年后到期),请执行以下操作:
selfssl /n:cn=www.mydomain.com / v:3650 / s:8 / k:2048
这将生成一个ssl,其中:
/n:cn=www.mydomain.com
-SSL用于www.mydomain.com
。该cn=
(通用名),所以不要错过它是非常重要的。
/v:3650
-证书有效的天数,在这种情况下为十年
/s:8
-将证书安装在站点ID中 8
/k:2048
-使用2048位的密钥长度。
不幸的是,无法将SSL直接输出到文件,您必须将其安装到站点中。好消息是证书可以导出。
如果您希望在使用自签名SSL浏览到站点时避免SSL不受信任的警告,那么也可以修复此问题:
.pfx
文件(您需要设置密码,请确保记住该密码)mmc certmgr.msc
浏览Trusted Root Certificate Authorities -> Certificates
并右键单击以获取Import...
选项:
按照向导并指定.pfx
要导入的,然后单击下一步(您将需要在步骤1中设置的密码):
在下一步的向导中,我们需要选择要使用的商店。点击Browse...
按钮,将打开Select Certificate Store
窗口。我们需要查看实体店,因此请确保打勾Show physical stores
:
展开Trusted Root Certificate Authorities
并Local Computer
根据上面的屏幕截图进行选择,然后单击OK
,然后Next >
单击Finish
向导最后一步中的按钮,如果一切正常,您应该看到:
注意事项和陷阱:
SelfSSL 可能需要安装IIS6管理兼容性组件。我不知道是因为我自己的计算机已经安装了该计算机,并且没有方便的VM通过删除它们来测试该理论。
如果您希望能够将SSL添加到“受信任的根证书颁发机构”存储中,则颁发SSL cn=www.mydomain.com
而不是cn=mydomain.com
。
据我了解,IIS 7.x的问题在于您无法为SSL绑定设置主机头。
使用appcmd命令行实用程序,您应该可以执行此操作。这些站点可以使用相同的证书,但是具有不同的主机头。
如果对数据运行以下两个命令,则应配置主机头。
c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']
c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']
不幸的是,您还需要做其他事情才能使它正常工作,但我不确定到底是什么。我知道我做了一些IIS重置,并且我重新选择了SSL证书,但是我不确定这样做的顺序。但是我知道我没有像使用其他工具那样“花哨”。
OpenSSL也可以用于创建自签名证书,如以下堆栈溢出答案中所述: