Windows下基于IIS服务的SSL服务器的配置

实验环境

  • Windows Server 2008 R1(CA)
  • Windows Server 2008 R2(web服务器)
  • Windows 7 x64(客户端)
  • 3台虚拟机打开桥接模式,保证能够相互ping通

实验原理

  • CA(根CA)负责为服务器颁发证书使得服务器证书可信。
  • 服务器下载IIS组建,向CA申请一个SSL证书,并且将此证书与本机IP绑定。最后打开SSL服务。
  • 客户端信任CA,因此可以安全地访问服务器网址。

实验步骤

安装证书服务

  • 打开Windows Server 2008 R1,配置主机角色
  • 在“开始”菜单中的管理工具中选择“服务器管理器”,选择“添加角色”,在服务器角色中选中“Active Directory证书服务”后,点击“下一步”。

  • 在“角色服务”中选择“证书颁发机构”和“证书颁发机构Web注册”两项服务,点击“下一步”。

  • 在“安装类型”中选择“独立”选项,安装一个独立根CA,点击“下一步”。

  • 在“CA类型”中选择“根CA”选项,点击“下一步”。

  • 在“私钥”中选择“新建私钥”选项,配置私钥,点击“下一步”。

  • 在“私钥”中的“加密”配置中选择“SHA1”算法,配置加密方式,点击“下一步”。

  • 在“私钥”中的“CA名称”配置中填写CA的公用名称,点击“下一步”。

  • 在“私钥”中的“有效期”配置中选择“5年”,点击“下一步”。

  • 在“证书数据库”中默认证书数据库位置和证书数据库日志位置,点击“下一步”。

  • 成功配置独立根CA,点击“下一步”。

  • 成功安装独立根CA。

Web服务器证书申请与配置

  • 打开Windows Server 2008 R2
  • 创建主机角色。在“开始”菜单中的管理工具中选择“服务器管理器”,选择“添加角色”,在服务器角色中选中“Web服务器(IIS)”后,之后全部默认配置。
    (该过程与创建独立根CA时类似,不作过多描述。)

  • 在“开始”菜单中的管理工具中选择IIS管理器,进入本机主页,选择“服务器证书”

  • 在右侧选择“创建证书申请”,打开cmd查询本机IP,在通用名称处填本机IP,其他信息任意填写,填满后选择“下一步”,加密服务默认设置,再选择“下一步”。

  • 文件名填成:“本机IP.cert.txt”格式,点击完成,可以在指定路径处看到txt文件。

  • 打开浏览器,进入网址“http://CA的IP/certsrv

  • 在浏览器中选择“工具”,再选择“Internet选项”

  • 选择“安全”,为Internet设置“自定义级别”,将图示部分勾选为启用。

  • 选择“可信站点”,选择“站点”,点击“添加”,把CA站点添加到可信区域。点击确定完成设置。

  • 选择“申请证书”,选择“高级证书申请”,选择图示选项。

  • 将之前生成的txt粘贴至框内,选择“提交”。

  • 提交后可以看到提交成功的界面

  • 打开Windows Server 2008 R1(CA机),选择“开始”,打开管理工具中的“证书颁发机构”,点击“挂起的申请”,可以看到我们刚才发出的申请。右键该申请,并选择“所有任务”,“颁发”。

  • 回到Windows Server 2008 R2(服务器机),重新进入网址“http://CA的IP/certsrv”,选择“查看挂起的证书申请的状态”,可以看到一个“保存的申请证书”,选择“DER编码”,并下载证书链。

  • 将证书链保存至桌面,并且打开,安装两个证书。CA证书放在“受信任的根证书”下,服务其证书放在“个人”下。

  • 选择“开始”,在对话框输入mmc,打开控制台。选择“文件”,“添加/删除管理单元”

  • 在左侧区域找到“证书”,点击“添加”,在弹出的框中选择“计算机账户”,选择“下一步”后默认设置

  • 在左边打开证书,进入“受信任的根证书颁发机构”的“证书”处,右键空白区域,选择“所有任务”,“导入”将证书链导入。

  • 进入“IIS管理器”,选择“完成证书申请”,导入证书链并随意取一个名称。

  • 右键网站,选择“编辑绑定”

  • 选择“添加”,将类型改为“https”,IP地址选择本机IP,SSL证书选择我们刚才导入的证书(好记名称)

  • 选择“SSL”设置,勾选“要求ssl”

  • 至此完成web服务器证书的申请与配置

客户端证书申请及配置

  • 打开Windows 7 x64(客户端)
  • 要想让客户端访问web服务器,客户端浏览器必须信任独立根CA。
  • 进入根CA证书申请界面“http://CA的IP/certsrv
  • 首先设置客户端浏览器安全级别以及可信站点。过程与服务器配置中相同
  • 选择“下载CA证书、证书链或CRL”,选择“下载CA证书链”,按提示步骤将CA安装到”受信任的根证书颁发机构“下。

  • 浏览器输入“http://web服务器IP”,发现提示访问被拒绝。

  • 浏览器输入“https://web服务器IP”,成功访问服务器,说明此时web服务器已经配置成功。标志客户端与服务器之间成功通过SSL加密信道进行通信。

Windows下基于IIS服务的SSL服务器的配置的更多相关文章

  1. windows下基于IIS配置ssl证书遇到的坑

    前几天配置windows下基于IIS配置ssl证书 完全按照步骤执行 绑定https网址后,一直显示:无法访问此网站 检查了443端口,还有防火墙限制,没发现什么 足足困扰了我好几天 后来突然想到前不 ...

  2. windows下基于IIS配置ssl证书

    我这边用的是阿里云的免费证书,下面展示一下操作步骤. 首先登陆阿里云,搜索ssl证书进入ssl证书控制台.点击购买 然后选择免费版,配置如下: 选择立即购买,购买成功后回到ssl控制台即可查看证书.然 ...

  3. Windows下Apache+Tomcat+jsp+php的服务器整合配置经验总结

    对于Apache+Tomcat+jsp+php的整合,针对不同的Tomcat和apache的版本,稍微有些区别. 一.所需软件 (1)JDK: jdk-7u15-windows-x64.exejdk的 ...

  4. Windows下基于http的git服务器搭建-gitstack

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Windows下基于http的git服务器搭建-gitstack     本文地址:http: ...

  5. Windows 下开启FTP服务并创建FTP用户

    Windows 下开启FTP服务,并创建用户 此教程教你怎么开启 Windows 的 FTP 服务,并创建用于登入 FTP 的用户.教程用到的操作系统是 Windows 7. 一.创建用于登入 FTP ...

  6. [转]Windows 下 Nginx+IIS 使用

    本文转自:https://blog.csdn.net/chihen/article/details/52698594 Windows 下 Nginx+IIS 使用 一.Nginx简介 Nginx (& ...

  7. Windows下当地RabbitMQ服务的安装

    Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...

  8. windows下利用iis建立网站网站并实现局域共享

    博客园 首页 新随笔 联系 管理 订阅 随笔- 54  文章- 9  评论- 0  Windows下利用IIS建立网站并实现局域网共享 https://blog.csdn.net/qq_4148541 ...

  9. windows 下使用 Filezilla server 搭建 ftp 服务器

    windows 下使用 Filezilla server 搭建 ftp 服务器 1. Filezilla server 免费,开源, ftp 服务端 2. 下载安装, windows  https:/ ...

随机推荐

  1. Redis除了做缓存--Redis做消息队列/Redis做分布式锁/Redis做接口限流

    1.用Redis实现消息队列 用命令lpush入队,rpop出队 Long size = jedis.lpush("QueueName", message);//返回存放的数据条数 ...

  2. 中兴软开C++面经(一站式西安)- 2019秋招

    大概是9.6发短信邀请面试,但是6号有三个面试+一个在线笔试,就打算先去平安产险,看中途能不能再面个云从,中兴后面再面.然而,平安等了差不多4个小时才面完,期间云从面试官打来电话,只能说抱歉.中兴本来 ...

  3. 碰到的TypeError--记录

    TypeError: object of type 'Response' has no len()   我在写爬虫的时候,通过requests获取到了网址的html文件,一开始是用content保存下 ...

  4. Mongodb之增删改查操作

    一.创建一个数据库 在我们使用MongoDB数据库时引进了这样一个知识,“对于mongodb,使用了不存在的对象,就等于在创建这个对象”,所以创建数据库的操作就比较简单 在我们使用mysql数据库时u ...

  5. [bluez] linux下蓝牙鼠标的延迟问题

    引言 现在的便携设备,接口越来越少了.所以我们没有理由不用蓝牙鼠标.高大上也不贵. 蓝牙4.0之前,蓝牙设备的问题是特别费电.蓝牙4.0之后省电的要命,我的上一个鼠标Microsoft Designe ...

  6. JAVA对象结构

    对象的内存布局 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header),实例数据(Instance Data)和对象填充(Padding). 实例数据:对象真正存储的 ...

  7. Django之路——1 Django的简介

    今天我们来学习django,在学习Django之前我们先来了解一下django和web开发中的http协议 1.mvc模型和mtv模型 既然学习Django,那么我们一定要知道web开发中的mvc模型 ...

  8. stm32进入HardFault_Handler的定位方法

    写程序偶尔会遇到程序死机的现象.这个时候,就需要debug来定位. 通常情况下,程序会进入HardFault_Handler的死循环(针对stm32系列),我遇到过两次. 第一次是使用数组之前,数组的 ...

  9. matlab的拟合函数polyfit()函数

    matlab的多项式拟合: polyfit()函数 功能:在最小二乘法意义之上,求解Y关于X的最佳的N次多项式函数. clc;clear; close all; x=[ ]; y=[2.7 7.4 2 ...

  10. [VSCode] Custom settings

    { // UI IMPROVEMENTS —————————————————— // Part 1. "editor.minimap.enabled": false, " ...