原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/141322

上一节中,我们讨论过有关CA作用及安装,本节我会通过给一个web站点设置SSL加密访问,来加深对CA的理解。
通过阅读本文,你将了解到以下内容
◆如何通俗化理解SSL
◆演示2种为web网页申请安全证书的方法
◆通过实例理解Common  Name名称的作用
◆讨论为什么访问证书服务器时需要输入用户名和密码
本文导读目录
一、如何理解SSL
二、为Web站点申请CA证书并测试SSL(两种方法)
      1、第一种方法
              1)建立测试站点
               2)通过Web网页申请网站证书。
                            第一步,申请请求文件。    
                            第二步,提交请求文件。
                            第三步,导入web证书。
                            第四步,测试SSL网站。
      2、第二种方法
                            第一步,移除当前SSL证书。    
                            第二步,建立测试站点。
                            第三步,通过IIS申请证书。
                            第四步,测试SSL网站。
三、小插曲:讨论访问证书服务器时为何需要输入用户和密码?

一、如何理解 SSL
按照惯例,从基础概念上介绍一下SSL,即Secure Socket Layer 安全套接层。最初是由Netscape开发的一种国际标准的加密及身份认证通信协议,它的作用是访问端和被访问端,或应用端和服务器端之间建立一条相对独立的、安全的通道,并利用自身的数学加密算法对来往的信息进行严格加密,从而保证数据在此通道内传输时拥有足够的安全性。
那,有朋友可能会想到https,这又是什么呢?几句话,保证让你明白它和ssl之间的关系,https也出自Netscape,简单讲它是HTTP协议的安全版本,即是在http的基础上加入了ssl层,https的安全基础就是SSL,也就是说单有https协议,没有ssl的辅助是无法实现加密的!
网络上,https和ssl随处可见。当访问一些银行网站,尤其是需要你输入一些私密信息比如帐号、密码的时候,请注意观察浏览器地址栏的两头,最左边和最右边,一定会看到https和ssl的身影。以招商银行为例,我们进入招行主页[url]http://www.cmbchina.com/[/url]  点击右下方的【个人银行大众版】,即[url]https://pbsz.ebank.cmbchina.com/CmbBank_GenShell/UI/GenShellPC/Login/Login.aspx[/url]
我们可以看到这样的一个界面:
请注意上图的2个红色框框,左侧的HTTPS开头的地址表明此时网页传输协议用的就是HTTPS安全协议,右侧的是那把×××的小锁表明已经启用了SSL链接。
我们单击一下那个小锁,会看得更清楚些,如图:
参照本系列的第一节讲到的相关知识,我们知道这个证书的颁发者:VeriSign Class 3 Extended Validation SSL SGC CA
其实不仅仅含有颁发者的信息,我们来稍微分析一下吧:
VerSign,美国的一家很著名提供智能信息基础设施服务的服务商。
Class 3 Extended Validation,即为第三代扩展验证
SGC SSL :SGC即Server Gated Cryptography,是在现有的SSL标准基础上增加的一种增强密钥用法(EKU)。
OK,我们今天实验的目的就是想实现类似的功能
1、使用https协议来访问我们的测试站点
2、出现如上图的小锁图标,并可以查看证书信息。
二、为Web站点申请CA证书并测试SSL(两种方法)
第一种方法:
基础工作
1、已安装IIS组件 (此文还在编辑中,稍后放出)
2、已安装CA组件(请参考SSL应用系列之一:CA证书颁发机构(中心)安装图文详解)
1) 建立测试站点
1、我在F盘上建了一个testweb文件夹,里面有一个临时站点,目录为Errpage。
里面有2个文件,这就是我们今天要测试的网页。
OK,下面我们到IIS里将这个站点应用起来。(具体过程非本节重点,故在此省略)
经过一些简单的设置后,我们可以在IIS中顺利浏览测试页面。
本机的IP为10.0.0.252,下面是在IE7里的访问页面,大家可以看到此时并没有https及安全锁标记。
为测试网站申请证书,也就是为我们的IIS Web服务器申请一个CA证书。我们有两种办法来完成证书的申请,我们来一一演示。
2) 通过Web网页申请网站证书。
第一步,申请请求文件。
使用这种办法申请证书,那么首先需要为指定的站点申请一份请求证书文件,打开IIS,找到特定的站点,我们这里是testweb,
在这个站点上右击,选择【属性】,再选择【目录安全性】选项卡
点击红色方框处的【服务器证书】,然后【Next】
上图中的设置一般我们不作修改,默认即可。点击【Next】继续
红框的内容可以自己填写,此处无关紧要,点击【Next】继续
       这里的Common name是一个很重要的地方,默认是本机的计算机名,这里填写的内容将直接影响后续的访问过程,如果你的网站要在外部访问,那么一定要写上外网的访问地址,比如[url]www.mypage.com[/url]这样的地址,当然不一定非要用www开头,只要是输入的地址已经做好的相应的解析记录就行,比如web.mypage.com,其中,mypage.com是你申请的外网域名。我们这里暂且用计算机名代替,后面还会说到这个问题。点击【Next】继续
红框的内容可以自己填写,此处无关紧要,点击【Next】继续
      certreq.txt就是针对这个站点生成的请求文件,为什么说是针对这个站点呢?还记得输入common name的那一步吗?我们输入的common name已经包含在请求文件里,稍后会用到这个文件来制作证书。默认存放在C盘根目录下,我们也可以手工指定。点击【Next】继续
查看证书的基本信息,如果确认无误,点击【Next】继续
OK,至此,证书的请求文件制作完毕。
第二步,提交请求文件。
在C盘目录下,找到刚才生成的请求文件下certreq.txt,如下图
这是经过加密后的文件,不用理会里面的内容,也用不着理会,ctrl+A全选并复制。然后打开证书的web申请页面,由于CA也装在10.0.0.252这台服务器上,为了方便访问,我在本地网卡上添加了另一个IP地址 10.0.0.253来作为证书服务的访问地址,直接在浏览器里输入10.0.0.253/certsrv来访问CA证书Web申请页面:
此时弹出一个提示框,让我们输入用户和密码,这里我们输入本机帐户信息
确定后,就可以看到证书申请页面了
如上图所示,选择第一个Request a certificate
如上图所示,选择advanced certificate request
因为我们已经有了一份证书请求文件,所以选择第二项,
请注意两个地方:
1、第一个红框需要填入的内容就是我们刚才复制的那一长串字符;在下方有一个Browse for a file to insert,也可以点击直接导入certreq.txt的文件,这2种方法都可以。
2、最下方,有一个证书模板,我们需要选择Web Server 类型。
操作完毕后,点击右下角的Submit完成提交。
当出现上面图示时,表明证书申请完毕,这里有2两种编码格式可供选择,一般选择Base 64 encoded。
下面有两个链接,一个是申请到的证书文件,另一个是证书链。
有个概念,什么是证书链? 其实,证书链里面包含2个文件,一个是当前的证书,一个是CA的根证书。
现在我们只需要证书文件,所以点击Download certificate后,出现如下提示:
点击save,任选一个位置保存下来,这个文件就是我们为testweb站点申请的证书。
OK,至此,Web证书制作完毕。
第三步,导入Web证书。
打开testweb站点的属性,找到【目录安全性】,如下图:
我们这里选择第一个选项,意思是处理一个挂起的请求并安装证书。
此时需要把我们刚才保存好的证书文件导入进去,点击Browse进行浏览。点击【Next】继续
上图中的443就是SSL默认的端口,我们不建议修改,默认即可。点击【Next】继续
这个是一个概览信息,若无误,点击【Next】继续
OK,至此,Web证书导入完毕。
第四步,测试SSL网站。
在测试SSL之前,我们还需要设置一个地方。依然找到【目录安全性】,如下图选择,并更改相应设置
这样设置是为了开启此站点的SSL功能,否则SSL也不会正式生效。
OK,一切就绪。我们开始测试SSL站点是否成功。
我们先按照之前的习惯来访问一下,如下图:
请注意上面2个标记红框的地方,很明显,如果依然使用http协议访问,就会失败,并出现提示,告诉我们需要使用https进行访问。
OK,我们输入[url]https://10.0.0.252[/url]来试一下
我已经改成了https访问,此时弹出一个对话框,第一个叹号说明证书本地并不信任这个证书的CA,如果想让我的计算机信任此证书,就需要把ca01上的根证书导入到本机的受信任的证书颁发机构中才可以。
这个是我做了此操作后的效果,第一个叹号已经没有了。
下面我们重点说一下第二个叹号。为什么是这个提示?
大家是否还记得,我们在申请证书请求文件的时候填入的common name 是什么吗?
对了,是 DC01,而且我也说过,我们访问地址里的名称一定要和common name 一致。请仔细观察下面两张图,看有什么异同:
请大家仔细观察2张图内标记红色框的地方。
         解释:下面的那张图的访问地址和之前的都不一样,使用的是dc01,而这个名称正好和common name 一致,所以就不会弹出证书提示框,也就是说此时,安全证书的名称和站点名称相匹配,所以会直接进入页面。在地址栏的右侧也可以看到一个×××的小锁。
OK,至此第一种申请网站证书的办法已经演示完毕,并做了测试。
------------------------------------------------------------------------------------------------------
第二种方法:
1) 移除当前网站证书。
我们来讨论一下申请证书的第二种方法,为了避免干扰。我们先把刚才做得证书移除掉。
依然找到【目录安全性】,点击【服务器证书】,【Next】后,进入以下画面:
选择,移除当前的证书,点击【Next】
如果确认,点击【Next】,即可完成证书移除。
此时,再通过[url]https://10.0.0.252/[/url]这个地址将无法网站。
2) 建立测试站点。
方便起见,亦然用之前站点作为测试对象,所以此步骤省略,同上。
3) 通过IIS申请证书
依然找到【目录安全性】,点击【服务器证书】,【Next】后,进入以下画面:
与第一种方法不同,我们这里选择第二个,即发送请求到一个在线CA
Common Name ,这个地方我们依然默认为dc01
4) 测试SSL网站
我们还需要做一下简单设置,如下图:
至此,第二种申请网站证书的办法描述完毕,测试的细节和要点和第一种方式一样,这里就不再细说了。
三、小插曲:讨论访问证书服务器时为何需要输入用户和密码?
大家可以发现,这时会弹出一个对话框,让你输入用户和密码,其实也就是本机管理员的帐户和密码,输入正确即可访问。
细心的朋友可能要问了,为什么这里会出现这个提示让我们输入验证信息呢?是的,简单回答,就是为了保证CA服务器的安全性,那我们是否可以去掉呢??答案是,完全可以。其实,这里面有一个知识点,请大家注意certsrv这个目录,如图:
就是这个目录,我们看一下它的属性,关键是【目录安全】这个选项卡。
我们可以看到蓝色选项卡里有一个勾,并未选中,如果选中后,我们再此访问10.0.0.253/certsrv的时候就可以直接访问,而无需输入任何身份信息。为什么呢?
因为IUSR_DC01是在IIS安装完成后自动建立的一个特殊的用户,默认情况下,当我们访问IIS下的某一站点时候,IIS在处理访问请求的时候都是通过IUSR_DC01这个用户来进行验证并返回结果的。而在创建CA的时候默认这个勾就被取消,所以我们访问的时候就会出现输入用户信息的提示。
只要把勾打上,以后再访问就不会有什么提示了。但建议大家还是不要去更改默认设置,安全还是要放在首位的。

本文出自 “许一君的原创技术博客” 博客,请务必保留此出处http://jeffyyko.blog.51cto.com/28563/141322

转载于:https://blog.51cto.com/lvxiaxiaxia/1200441

SSL应用系列之二:为Web站点实现SSL加密访问相关推荐

  1. web站点的ssl安全性检测

    检测 网站评分:https://www.ssllabs.com/ 评分标准说明:https://github.com/ssllabs/research/wiki/SSL-Server-Rating-G ...

  2. SSL应用系列之三:CA证书颁发机构(中心)安装图文详解

    tag: windows server 2003 ca ssl 原文传送门     其实,本节讨论的内容应该归属于CA系列的,但其中涉及到的内容和SSL应用系列之二比较紧密,在之二一文中未能详细描述, ...

  3. 安装证书服务:为Web站点启用HTTPS

    为Web站点启用HTTPS 上篇介绍了PKI和数字证书的相关概念,下面将详细介绍如何安装证书服务. 上篇链接:http://yangshufan.blog.51cto.com/13004230/194 ...

  4. [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点

    参考链接: 使用super访问Java祖父母的成员 Stephen WaltherSuperExpert.com 适用于: Microsoft ASP.NET 2.0 (Beta 2) Microso ...

  5. Windows搭建web站点:免费内网穿透发布至公网 1-2

    什么是cpolar? cpolar是一个非常强大的内网穿透工具,开发调试的必备利器. 它可以将本地内网服务器的HTTP.HTTPS.TCP协议端口映射为公网地址端口,使得公网用户可以轻松访问您的内网服 ...

  6. 发布安全Web站点详细攻略:ISA2006系列之十四

    用ISA发布安全Web站点 到目前为止,我们已经对ISA发布Web站点进行了很多介绍,但还没有涉及到安全Web站点.其实在很多领域,安全Web站点都由于高安全性而受到广泛应用,例如在电子商务,电子邮件 ...

  7. 网络云存储技术Windows server 2012 (项目二十 基于NLB的企业Web站点服务部署)

    网络云存储技术Windows server 2012 (项目二十 基于NLB的企业Web站点服务部署) 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面向网络的存储体系结构,使数据处 ...

  8. [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)

    前言 本篇是承接上一篇: [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 在上一篇粗略地介绍了如何使用Top-Down的方式创建 ...

  9. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

最新文章

  1. RecyclerView smoothScrollToPosition 和 scrollToPosition 的区别
  2. [转]笑话: 耐力惊人的三只乌龟
  3. python gui插件_Python进阶量化交易专栏场外篇17- GUI控件在回测工具上的添加
  4. 在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...
  5. 【其他】编程技巧之常用缩写
  6. python样本不均衡_三招提拔数据不均衡模子的机能(附python代码)
  7. paip.ecshop邮件模板修改一个密码找回 一个留言回复
  8. fd抓包数据类型_fd抓包教程 FD入门简介(配置教程) fd视频教程2016
  9. opendds简单入门(二)
  10. 计算机网络校园网建设设计摘要,计算机网络专业毕业论文校园网建设设计.doc...
  11. 51单片机矩阵键盘控制数码管
  12. python办公自动化(十一)自动分类文件夹
  13. CorelDRAW 2019中文版安装使用教程
  14. 《C语言程序设计》江宝钏主编-习题4-2-分段函数
  15. html元素在模块中心显示,DW怎么设置DIV模块在页面中居中 DW如何设置网页打开绝对居中?...
  16. mac系统如看OFD文档
  17. 用Python3调用百度AI和图灵机器人实现一个智能(bushi)AI聊天机器人
  18. Ubuntu 14.04开启root账号,禁用Guest账号
  19. java gc 有钱人_小猿圈java之GC垃圾回收机制
  20. 交通灯控制器的verilog实现

热门文章

  1. .net 应用迁移到Mono 工具 (Moma)
  2. flutter 切图重命名脚本
  3. jvm类加载过程_JVM知识点——深入理解JVM的类加载
  4. XSS漏洞自动化攻击工具XSSer
  5. Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色
  6. gitlab中文_ASP.NET实战010:Visual Studio使用GitLab详解
  7. python seek到指定行_python文件操作seek()偏移量,读取指正到指定位置操作
  8. Xcode的一些按钮使用
  9. 《机器学习实战》第5章 随机梯度上升算法
  10. Persona 动画编辑器参考