在IIS中部署HTTPS服务非常简单,所需要的就是在Web服务器上具有服务器身份验证证书,并将证书绑定在Web站点。如果Web服务器属于活动目录并且活动目录中具有在线的企业证书颁发机构,则可以在配置过程中在线申请并自动安装Web服务器证书,否则你需要离线申请Web服务器证书。
申请Web服务器证书的步骤如下:
在Web服务器上运行管理工具下的Internet信息服务管理控制台,在左面板展开Web站点节点,然后右击需要部署HTTPS服务的网站,在此我右击默认网站,选择属性;
在默认网站属性对话框,点击目录安全性标签,然后点击服务器证书按钮;
在欢迎使用Web服务器证书向导页,点击下一步;
在服务器证书页,选择新建证书,点击下一步;如果已经具有其他的服务器身份验证证书,则可以选择分配现有证书来将现有证书分配给此Web站点;
接下来的操作步骤我根据证书申请方式的不同,分别进行介绍:
在线申请证书
在延迟或立即请求页,选择立即将证书请求发送到联机证书颁发机构,然后点击下一步;
在名字和安全性设置页,在名称栏为新证书输入一个容易分辨的名字,然后点击下一步;
在单位信息页,在单位和部门栏中分别输入相关信息,然后点击下一步;
在站点公用名称页,输入Web站点的FQDN,这个名称将被用户用于访问这个站点,如果你输入的FQDN和用户访问所输入的FQDN不一致,那么在通过HTTPS连接此Web站点时会发生错误,在此我输入Web站点的FQDN munich.winsvr.org,然后点击下一步;
在地理信息页,输入你的相关信息,然后点击下一步;
在SSL端口页,输入你需要让客户用于访问此Web站点的HTTPS服务端口,建议你总是使用默认的443,点击下一步;
在选择证书颁发机构页,如果你具有多个联机的证书颁发机构,在此可以选择向哪个发起证书申请。在此我接受默认的选择,然后点击下一步;
在证书请求提交页回顾你的设置,然后点击下一步;
最后,在完成Web服务器证书向导页,点击完成。此时,证书向导已经从联机证书颁发机构申请了一个Web服务器证书,你可以在目录安全性标签点击查看证书按钮来查看证书状态。
离线申请证书
如果活动目录中没有在线的企业证书颁发机构或者Web服务器并不位于活动目录环境中,那么你必须离线申请Web服务器证书。
在延迟或立即请求页,选择现在准备证书请求,但稍后发送,然后点击下一步;
在名字和安全性设置页,在名称栏为新证书输入一个容易分辨的名字,然后点击下一步;
在单位信息页,在单位和部门栏中分别输入相关信息,然后点击下一步;
在站点公用名称页,输入Web站点的FQDN munich.winsvr.org,然后点击下一步;
在地理信息页,输入你的相关信息,然后点击下一步;
在证书请求文件名页,输入证书申请请求保存到的文件名,在此我接受默认设置c:\certreq.txt,点击下一步;
在请求文件摘要页回顾你的设置,然后点击下一步;
在完成Web服务器证书向导页,点击完成,此时,证书请求信息保存到了c:\certreq.txt文件中。
现在我们访问证书颁发机构的Web注册登录页面,如下图所示,点击申请一个证书链接;
然后点击高级证书申请链接;
然后再点击使用 base64编码的CMC 或PKCS #10文件提高一个证书申请,或使用base64编码的PKCS#7文件续订证书申请,
在提交一个证书申请或续订申请页,你可以点击浏览要插入的文件来插入前面保存的证书申请信息文件的内容,不过有时IE的安全设置会阻止这一行为,你可以打开证书申请信息文件,然后将所有内容复制到保存的申请文本框中,如下图所示,然后在证书模板栏选择Web服务器,再点击提交;
在此我的证书颁发机构设置为自动颁发证书,因此此时已经颁发了证书,如果证书颁发机构设置为手动颁发证书,那么你还需要在证书颁发机构管理控制台中手动颁发证书。点击下载证书链接,然后将证书保存在本地目录中。
再次回到Internet信息服务管理控制台,右击默认网站,选择属性;在默认网站属性对话框,点击目录安全性标签,然后点击服务器证书按钮;
在欢迎使用Web服务器证书向导页,点击下一步;
在挂起的证书请求页,选择处理挂起的请求并安装证书,点击下一步;
在处理挂起的请求页,点击浏览选择刚才保存的证书文件,点击下一步;
在SSL端口页,接受默认的443,点击下一步;
在证书摘要页回顾你的设置,然后点击下一步;
在完成Web服务器证书向导页,点击完成。此时,证书已经安装完毕,另外在离线申请Web服务器证书时需要特别注意:你必须将颁发证书的证书颁发机构的CA证书导入到本地计算机所信任的根证书颁发结构中,否则此证书无法使用。在此由于我已经导入,所以不再进行这个操作。
配置Web站点强制使用HTTPS服务
当Web站点绑定服务器身份验证证书之后,已经可以通过HTTPS服务访问Web站点了。只是此时还允许通过未加密的HTTP服务访问Web站点,如果需要强制Web站点使用HTTPS服务,则进行以下配置:
在网站属性的目录安全性标签中点击安全通讯框架中的编辑按钮;
在弹出的安全通信对话框上,勾选要求安全通道(SSL),此时将强制只能使用HTTPS服务访问此Web站点;默认加密强度只有40位,如果你需要更高的加密强度则勾选要求128位加密,不过这也要求客户端浏览器支持128位加密;
默认情况下忽略客户端证书,这允许用户不必提供用户证书就可以通过HTTPS连接到此Web站点,如果要让用户提供证书,请使用接受客户证书或要求客户端证书,其中后者要求客户必须具有用户证书才能通过HTTPS连接到此Web站点。
另外你还可以启用客户端证书映射功能,它可以将用户证书映射到活动目录中的用户,从而根据用户访问网站时提供的证书自动识别用户。
在此我仅强制用户只能使用HTTPS来访问此Web站点,因此只是勾选要求安全通道(SSL)和要求128位加密,然后点击两次确定回到Internet信息服务管理控制台。
我们首先通过HTTP来访问此Web站点试试,访问失败,提示要求必须通过安全通道查看,
于是使用HTTPS来进行访问,访问成功,如下图所示,右下角的小锁标志代表是通过HTTPS进行的访问,将鼠标移动到它上面,可以看到现在的加密强度为128位。