惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

博客园 - Anson2020

SQL Server 清除数据库日志脚本 让 Firefox 也支持 outerHTML StringSplitOptions Enumeration [转] - Anson2020 Hibernate映射类型对照表 [转] 解决 .setAttribute 添加JS或者CSS 在IE下不起作用. - Anson2020 Oracle 生成 GUID 类型 [转] Internet Explorer 8 Beta 1 已发布并提供下载! Eclipse编写代码可以设置源文件的编码方式UTF-8 [转] IE Firefox css 差别 [转] 关于Service Unavailable的解决方法 [转] 解决JavaME中的内存泄漏 [转] 转载(正则表达式) [转] ORACLE Text 文本检索 Ajax Tree 仿Google和Windows Live的JS+DIV Drag [转] Input的高级用法11例 Asp.Net避免按钮重复点击(转) [转] ASP.NET 缓冲: 技术及最佳实践 [转] 支付宝Payto接口的c#.net实现
.NET 实战SSL安全加密机制 [转]
Anson2020 · 2008-02-14 · via 博客园 - Anson2020

实战SSL安全加密机制:Windows网络操作系统内置的IIS是大家最常用的Web服务器。但在系统默认配置下,IIS使用的是“HTTP协议”以明文形式传输数据,没有采用任何加密手段,传输的重要数据很容易被窃取。这对于一些安全性要求高的网站来说,是远远不够的。为了保证重要数据的万无一失,IIS也提供了SSL安全加密机制,下面就向大家介绍如何在IIS服务器中使用SSL安全加密机制。生成证书请求文件

笔者以Windows Server 2003(简称Windows 2003)系统为例,介绍如何在IIS6服务器中应用SSL安全加密机制功能。要想为某个IIS网站创建数字证书,首先必须使用“Web服务器证书向导”功能为该网站生成一个证书请求文件。进入“控制面板→管理工具→Internet 信息服务(IIS)管理器”,在IIS管理器窗口中展开“网站”目录,右键点击要使用SSL安全加密机制功能的网站,在弹出菜单中选择“属性”,然后切换到“目录安全性”标签页(如图),接着点击“服务器证书”按钮。在“IIS证书向导”窗口中选择“新建证书”选项,点击“下一步”,选中“现在准备证书请求,但稍后发送”,接着在“名称”栏中为该证书起个名字,在“位长”下拉列表中选择“密钥的位长”,这里要注意,位长不能设置的过大,否则会影响通信质量;接着设置证书的单位、部门、和地理信息,在站点“公用名称栏”中输入该网站的域名,然后指定证书请求文件的保存位置,这里笔者将该证书请求文本文件保存在“d:/certreq.txt”。这样就完成了证书请求文件的生成。 

申请IIS网站证书

完成了证书请求文件的生成后,就可以开始申请IIS网站证书了。但这个过程需要证书服务(Certificate Services)的支持。Windows 2003系统默认状态没安装此服务,需要手工添加。 

安装证书服务

在“控制面板”中运行“添加或删除程序”,切换到“添加/删除Windows组件”页,在“Windows组件向导”对话框中,选中“证书服务”选项,接下来选择CA类型,这里笔者选择“独立根CA”,然后为该CA服务器起个名字,设置证书的有效期限,建议使用默认值“5年”即可,最后指定证书数据库和证书数据库日志的位置后,就完成了证书服务的安装。

完成了证书服务的安装后,就能开始申请IIS网站证书了。运行Internet Explorer浏览器,在地址栏中输入“http://localhost/CertSrv/default.asp”。接着在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,然后在证书申请类型中点击“高级证书申请”链接,在高级证书申请窗口中点击“使用BASE64编码的CMC或PKCS#10文件提交….”链接,接着将证书请求文件的内容复制到“保存的申请”输入框中,这里笔者的证书请求文件内容保存在“d:/certreq.txt”,最后点击“提交”按钮。 

颁发IIS网站证书

虽然完成了IIS网站证书的申请后,但这时它还处于挂起状态,需要颁发后才能生效。在“控制面板→管理工具”中,运行“证书颁发机构”程序。在“证书颁发机构”左侧窗口中展开目录,选中“挂起的申请”目录,在右侧窗口找到刚才申请的证书,鼠标右键点击该证书,选择“所有任务→颁发”。

接着点击 “颁发的证书”目录,打开刚刚颁发成功的证书,在 “证书”对话框中切换到“详细信息”标签页。点击“复制到文件”按钮,弹出证书导出对话框,一路下一步,在“要导出的文件”栏中指定文件名,这里笔者保存证书路径为“d:/cce.cer”,最后点击“完成”。 

导入IIS网站证书

在IIS管理器的“目录安全性”标签页中,点击“服务器证书”按钮,这时弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,点击“下一步”后,指定好刚才导出的IIS网站证书文件的位置,接着指定SSL使用的端口,建议使用默认的“443”,最后点击“完成”按钮 

配置IIS服务器

完成了证书的导入后,IIS网站这时还没有启用SSL安全加密功能,需要对IIS服务器进行配置。

在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,选中“要求安全通道(SSL)”和“要求128位加密”选项,最后点击“确定”按钮即可。

接着点击“身份验证和访问控制”栏的“编辑”按钮,在对话框中取消“启用匿名访问”和“集成Windows身份验证”选项,这里要选中“基本身份验证”选项,最后点击“确定”按钮。 

SSL安全加密机制

SSL(Security Socket Layer)的中文全称是“加密套接字协议层”,是由Netscape公司推出的一种安全通信协议,它位于HTTP协议层和TCP协议层之间,能够对信用卡和个人信息提供较强的保护。SSL在客户和服务器之间建立一条加密通道,确保所传输的数据不被非法窃取,SSL安全加密机制功能是依靠使用数字证书来实现的。

应用了SSL加密机制后,IIS服务器的数据通信过程如下:首先客户端与IIS服务器建立通信连接,接着IIS把数字证书与公用密钥发给客户端。然后使用这个公共密钥对客户端的会话密钥进行加密后,传递给IIS服务器,服务器端接收后用私人密钥进行解密,这时就在客户端和IIS服务器间创建了一条安全数据通道,只有被IIS服务器允许的客户才能与它进行通信。