专栏首页Java架构师必看关于SSL配置的报告

关于SSL配置的报告

作者:网际浪子专栏(曾用名littlehb) http://blog.csdn.net/littl网络

作者:网际浪子专栏(曾用名littlehb)  http:

一,服务器上装有CA(Certificate Server)

1,服务器上安装CA

Win2000中带有CA的安装程序。单击Start,Control Pannel Add/Remove Programs兵单击Add/Remove Windows Compenents。当Windows Component Wizard出现时,选择证书服务(Certificate Services)。下一步中,安装需要指出服务器授权的类型,一般作为一个独立的Web服务器,选择Stand-alone root CA。然后,需要指定共享文件夹,这作为证书服务的配置数据存储位置,单击Next,安装完毕。

注意:自己建立CA 机构时,所给CA机构起的名是自己定义的,在客户端的IE中,在一开始并不属于客户端信任的根证书颁发机构,如果,客户端没有把该CA机构加为自己所信任的根证书颁发机构,那么在客户端访问该服务器上的网站时,会出现安全警告信息。

2,建立并安装一个站点证书

步骤如下:

A, 打开IIS,选定要安装证书的站点,单击右键,选择弹出菜单中的properties,在弹出的对话框中,单击directory security属性页,单击Server Certificate按钮,出现IIS Certificate Wizard对话框,这一步的操作,所完成的功能是生成一个向CA申请数字证书的密钥文件,文件以.txt的格式存于本机目录下。

B, 通过Certificate Server Enrollment的页面访问注册控件和它的表格:

在安装了Certificate Service的机器上可以从位于 http://localhost/certsrv 的Certificate Server Administration Tools Web页面可以访问该注册控件。选择request a certificate 选项,在下一页面中选择advance request,这里需要注意的是,如果是给网站申请数字证书时必须选择该项,因为赋予网站的数字证书需要使用a步骤中所产生的特定的密钥文件,这样才能生成属于该网站的唯一的数字证书。而一般User certificate request 是针对需要访问该网站的客户设计的,分别有web browser certificate 和E-Mail Protection certificate 两种方式。客户采用web browser certificate方式申请对有SSL保护的网站的访问,而E-Mail Protection certificate是保护客户收发email时的信息传送。接下去页面的Advanced Certificate Requests 中我们选择Submit a certificate request using a base64 encoded PKCS #10 file or a renewal request using a base64 encoded PKCS #7 file。因为这种格式和在a步骤中所产生的密钥文件的加密格式一致。然后,可以通过browse把存在本机上的.txt密钥文件上载至网页上,递出申请。在最后的界面中,会被告知请求已经被接到并正在等待证书授权机构的批准。

C, 微软的Certificate Service可以使用MMC来管理:

服务器提出的要求数字验证的请求传递到CA机构中,打开Start/Program/Administrative tools/Certification Authority后,可以看到pending request文件夹,这个文件夹包含了所有等待root授权机构批准的证书请求。如果CA认证机构觉得该网站的申请可行,则单击右键选择issue,这样,该文件就被移到了issued Certificates,表示申请成功,这个节点包含了所有被证书服务的管理员批准并被发布的证书。反之如果CA机构觉得该申请不可行,则选择Deny,该文件被转移到Failed request,表示申请失败,这个节点包含了所有被拒绝的证书请求。对申请成功并发布的数字证书而言,如果CA机构想取消该证书,可以单击右键选择revoke,则已申请成功的数字证书被移到revoke certificates文件夹内,这个节点包含了所有被发布但是又被撤销的证书。

D, 提交数字验证的网站在等待一定时间后,依然可以通过 http://localhost/certsrv来查看自己所申请的数字验证的进行情况。选择Check On A Pending Certificate选项并单击Next 按钮继续。从选项框中选择候选的请求,单击Next按钮继续。为下载该文件选择Base64 encoding并单击Download CA Certificate链接以开始下载过程。这样就从证书授权机构接到了服务器证书文件。打开IIS,选定已经得到数字验证的网站,单击右键后选择properties,在属性页directory security中,单击Server Certificate 按钮以启动Web服务证书向导,选择Process A Pending Request and Install Certificate选项。选择上一步骤中download下来的数字证书(即.cer文件)的存放路径,开始安装。安装成功后,directory security属性页中的view certificate和edit按钮由disable变为enable。整个网站的数字验证过程完毕。

3,关于certificate的属性设置

点击directory security属性页的edit按钮,可以进行网站数字验证属性的设置。首先,如果选择了require secure channel(SSL)复选框,则http的形式将无法访问该站点,只有采用https的方式进行访问。如果不选择该项的话,则http和https两种方式并存,都可以进行对此网站的访问。如果选择了该项,则又有三种方式可供选择,分别是ignore client certificate,accept client certificate 以及require client certificate。Ignore client certificate表示不接受客户证书(默认):如果客户浏览器安装了客户证书,会返回一个Access Denied消息。Accept client certificate表示接受证书:不管客户是否安装了客户证书对服务器没有区别,访问在两种情况下都是允许的。Ignore client certificate表示需要客户证书:除非客户有一个被root CA(这里是证书服务器)授予的合法证书,否则访问被拒绝。客户要访问网站,必须得先从服务器得到数字验证,也即,客户端必须首先向要访问的网站提出要求数字验证的申请,在得到服务器端发回的用于两者间信息交互的数字证书后,才可以对该网站进行访问,否则,网站将拒绝该客户的访问。

不同的网站可以针对这三个属性进行不同的设置。

4,客户端SSL的配置

在浏览器和Web站点之间开始SSL通信之前,客户端必须能够认出服务器的证书是合法的。要做到这一点,客户端必须和服务器的证书授权机构取得联系,在这种情况下是本地的证书服务器。如果没能实现前面的步骤,直接连到SSL站点,会首先接到安全警告信息。客户浏览器需要在浏览器的Trusted Root Store中安装证书。要安装证书,在安全警告对话框出现时,单击View Certificate按钮,就会出现一个对话框,该对话框中包含了证书的信息。单击Install Certificate 按钮以启动证书导入向导。

对客户而言,SSL的配置就相对比较简单,客户可以选择申请数字证书,也可以不用,只是,如果客户所访问的某个网站设定了require client certificate属性,则客户必须在得到了该网站的数字验证后,才能对此进行访问,换言之,客户想得到访问权,就必须先向网站提出申请。

客户通过访问 http://servername/certsrv来申请数字验证,它的操作过程和网站申请数字验证基本雷同,只是它不是选择Advance request这一项,而是使用User certificate request 下的web browser certificate选项,只要填写客户的一些相应信息后,就能递出申请,而当CA机构认证后,也是从网上直接下载相对应的数字证书至本机。这样,每当访问该网站,当弹出要求客户端数字验证的消息框后,客户选择已经下载过的数字证书,就可以进行对网站的访问了。

注意事项:如果网站的端口号不是默认的80,而是自己定义的话,则相应的也要给SSL Port 设定一个端口号,以示区别,而访问http和https时,所输入的端口号是不一致的。如果网站使用默认的80端口,则SSL也不需要配置特定的端口号,它的默认端口号为443。

二,服务器和装有CA(Certificate Server)的计算机独立 网站申请数字证书的过程和前面部分一样。只是,上一部分的操作因为CA和服务器设在同一台机器上,所以,访问本机的http://localhost/certsrv就可以了,而这一部分,因为CA和服务器的计算机独立,所以,申请的时候也和客户端一样,远程访问http://CAname/certsrv ,其中的具体操作和上一部分一样。只是,在这种情况下,该网站如果设置了require client certificate,则客户就很难访问该网站了,因为客户端无法向该网站发出要求数字验证的申请。一般而言,最好采用accept client certificate。

本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 满足极高读写性能需求的Key-Value数据库

    满足极高读写性能需求的Key-Value数据库高性能Key-Value数据库的主要特点就是具有...

    Java架构师必看
  • Spring4实战学习笔记

    《Spring4实战 第4版》2016年4月新出版的,之前的第三版看起来还是不错的,所以看到新版就直接买下来。

    Java架构师必看
  • 如何得到数据库中所有表字段及字段中文描述

    如何得到数据库中所有表字段及字段中文描述 以下资料,通过csdn的一位师兄从SQL版主那得到: sql中 SELECT  (case when a.c...

    Java架构师必看
  • [教程]WDCP启用(SSL)HTTPS方法

    2,然后点击 系统管理 -> 文件管理器 -> 虚拟主机站点文件nginx,找到你网站对应的配置文件。

    雨落凋殇
  • Django开发博客的第三方插件:django-taggit

    Django的强大之处大家一定有所体会,Python强大的第三方库非常适合找现成的轮子来提高自己的开发效率。 最近我在修改我的博客的时候,发现了一个用来给博文添...

    KEVINGUO_CN
  • H3C PKI 概述

        PKI( Public Key Infrastructure,公钥基础设施)是一个利用公开密钥理论和技术来实现并提供信息安全服务的具有通用性的安全基础设...

    py3study
  • 网站被黑,索要巨额比特币,这几个坑一定不要踩

    事情被发现是在昨天,在上班路上的时候,有个群友向我反应网站是不是挂了。我刚开始没太在意,还以为是腾讯云不稳定。等到他又和我说数据库不存在的时候,我意识到事情没有...

    Java识堂
  • 关于客户满意度的十个建议

    无论是哪个行业或在哪个客户接触点,响应的及时性变得越来越重要,并成为总体满意度的核心驱动力。 原因是:业务发展得越来越快; 等待令人沮丧; 注意力下降; 迅速响...

    臭豆腐
  • 小程序如何支持使用 async/await (构建npm版)

    小程序本身是不支持async/await语法的,但有些应用场景,我们使用async/await会使得代码更简洁,也更易于维护,用过都知道是有多爽的。既然小程序不...

    WahFung
  • 黑客也“风流”

    今日,劳氏日报揭晓“2017年全球航运100大影响力人物”榜单(The Most Influential People in Shipping Industry...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券