毫无疑问,开发人员和IT管理员需要使用SSL证书通过HTTPS部署某些网站。尽管此过程对于生产站点而言非常简单,但是出于开发和测试的目的,您可能会发现也需要在此处使用SSL证书。

作为购买和续订年度证书的替代方法,您可以利用Windows Server’生成自签名证书的能力,该证书既方便又容易,并且应该完全满足这些类型的需求。

在IIS上创建自签名证书

尽管有多种方法可以完成创建自签名证书的任务,但我们将使用Microsoft的SelfSSL实用程序。不幸的是,这并没有’随IIS一起提供,但它可以作为IIS 6.0资源工具包的一部分免费获得(本文底部提供了链接)。尽管有名字“IIS 6.0”该实用程序在IIS 7中可以正常工作。

所需要做的就是提取IIS6RT以获取selfssl.exe实用程序。您可以从此处将其复制到Windows目录或网络路径/ USB驱动器,以备将来在另一台计算机上使用(因此您不必’无需下载并提取完整的IIS6RT)。

设置好SelfSSL实用程序后,以管理员身份运行以下命令,替换其中的值<> as appropriate:

selfssl / N:CN =<your.domain.com> /V:<number of valid days>

下面的示例针对以下情况生成自签名通配符证书“mydomain.com”并将其设置为有效9,999天。此外,通过对提示回答“是”,此证书将自动配置为绑定到IIS默认网站内的端口443。

此时可以准备使用证书,但证书仅存储在服务器上的个人证书存储中。最好的做法是在受信任的根中也设置此证书。

去开始>运行(或Windows键+ R)并输入“mmc”。您可能会收到UAC提示,接受它,然后将打开一个空的管理控制台。

在控制台中,转到“文件”> Add/Remove Snap-in.

从左侧添加证书。

选择计算机帐户。

选择本地计算机。

单击确定以查看本地证书存储。

导航到个人>证书,并使用SelfSSL实用程序找到您设置的证书。右键单击证书,然后选择复制。

导航到受信任的根证书颁发机构>证书。右键单击“证书”文件夹,然后选择“粘贴”。

SSL证书的条目应出现在列表中。

此时,您的服务器在使用自签名证书时应该没有问题。

 

导出证书

如果要访问在任何客户端计算机(即不是服务器的任何计算机)上使用自签名SSL证书的站点,为了避免潜在的证书错误和警告冲击,应安装自签名证书在每台客户端计算机上(我们将在下面详细讨论)。为此,我们首先需要导出相应的证书,以便可以将其安装在客户端上。

在加载了证书管理的控制台内部,导航到“受信任的根证书颁发机构”>证书。找到证书,右键单击并选择“所有任务”> Export.

当提示您导出私钥时,选择是。点击下一步。

保留文件格式的默认选择,然后单击“下一步”。

输入密码。这将用于保护证书,并且用户如果不输入此密码将无法在本地导入证书。

输入导出证书文件的位置。它将是PFX格式。

确认设置,然后单击完成。

生成的PFX文件是将安装到客户端计算机的文件,告诉客户端计算机您的自签名证书来自受信任的来源。

 

部署到客户端计算机

一旦在服务器端创建了证书并且一切正常,您可能会注意到,当客户端计算机连接到相应的URL时,将显示证书警告。发生这种情况是因为证书颁发机构(您的服务器)没有’•客户端上SSL证书的可信来源。

您可以单击警告并访问该网站,但是您可能会以高亮显示的URL栏或重复的证书警告的形式收到重复的通知。为了避免这种烦恼,您只需要在客户端计算机上安装自定义SSL安全证书即可。

根据您使用的浏览器,此过程可能会有所不同。 IE和Chrome均从Windows证书存储区读取,但是Firefox具有处理安全证书的自定义方法。

 

重要的提示: 你应该 决不 从未知来源安装安全证书。实际上,如果您生成了证书,则仅应在本地安装证书。没有合法的网站会要求您执行这些步骤。

 

IE浏览器& Google Chrome –在本地安装证书

注意:即使Firefox不使用本机Windows证书存储,仍然建议这样做。

将从服务器导出的证书(PFX文件)复制到客户端计算机,或确保该证书在网络路径中可用。

使用与上面完全相同的步骤在客户端计算机上打开本地证书存储管理。您最终将在下面的屏幕上显示。

在左侧,展开证书>受信任的根证书颁发机构。右键单击“证书”文件夹,然后选择“所有任务”> Import.

选择本地复制到您的计算机的证书。

输入从服务器导出证书时分配的安全密码。

店铺“受信任的根证书颁发机构”应该预先填充为目的地。点击下一步。

查看设置,然后单击完成。

您应该看到一条成功消息。

刷新您对受信任的根证书颁发机构的看法>证书文件夹,您应该会看到服务器’商店中列出的自签名证书。

完成一项操作后,您应该能够浏览到使用这些证书的HTTPS站点,并且不会收到任何警告或提示。

 

火狐浏览器– Allowing Exceptions

Firefox处理此过程的方式有所不同,因为它不会从Windows存储区读取证书信息。它允许您为特定站点上的SSL证书定义例外,而不是安装证书(按秒)。

当您访问的网站存在证书错误时,您将收到类似以下的警告。蓝色区域将命名您要访问的相应URL。要创建例外以绕过相应URL上的此警告,请单击“添加例外”按钮。

在“添加安全例外”对话框中,单击“确认安全例外”以在本地配置此例外。

请注意,如果特定站点从自身内部重定向到子域,则可能会收到多个安全警告提示(URL每次都略有不同)。使用与上述相同的步骤为这些URL添加例外。

 

结论

值得重复以上说明,您应该 决不 从未知来源安装安全证书。实际上,如果您生成了证书,则仅应在本地安装证书。没有合法的网站会要求您执行这些步骤。

 

链接

从Microsoft下载IIS 6.0资源工具包(包括SelfSSL实用程序)