证书(3)如何在程序中使用数字证书

 

一、 .NET 程序中使用证书

         请参见 《(2)强名称程序集与数字证书》

 

二、 web 程序中使用证书

1.         SSL (Secure Sockets Layer) 协议

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议提供的服务主要有:

1)认证用户和服务器,确保数据发送到正确的客户机和服务器;

2)加密数据以防止数据中途被窃取;

3)维护数据的完整性,确保数据在传输过程中不被改变。

2.         HTTPSSecure Hypertext Transfer Protocol)安全超文本传输协议

它是由Netscape开发并【内置】于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层(HTTPS使用端口443,而不是像 HTTP那样使用端口80来和TCP/IP进行通信)。HTTPSSSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL

3.         对网站启用SSL

1)         首先使用IIS创建服务器证书(选中根节点)

clip_image002

2)         然后选择需要启动SSL的网站,进行“网站绑定”添加HTTPS端口和服务证书

clip_image004

3)         最后选择需要启动SSL的网站或页面,点击SSL设置

clip_image006

4.         应用示例

---------------网站如何通过加密和用户安全通信

SSL技术已建立到所有主要的浏览器和 WEB 服务器程序中,因此,仅需安装 SSL证书就可以激活服务器的安全通信功能,在通讯双方间建立起一条安全、可信的通道。SSL原理很简单:

1)         当你的浏览器向服务器请求一个安全的网页(通常是 https://),服务器就把它的证书和公钥发回来,浏览器检查证书是不是由可以信赖的机构颁发的,确认证书有效和此证书是此网站的。

2)         浏览器随机生成一个对称密钥,加密URL得到密文A,浏览器再使用证书公钥加密对称密钥得到密文B,再将A和B一起发送到服务器。

3)         服务器用自己的私钥解密密文B得到对称密钥。然后用对称密钥解密密文A得到URL,验证URL 

4)         后续服务器与浏览器之间的通信,就使用这个随机生成的对称密钥进行加解密

 

                      《 数字签名|数字证书》系列

                              (1)数字签名基础知识

                              (2)什么是数字证书?什么是数字时间戳

                              (3)如何在程序中使用数字证书

 参考资料:

                   GlobalSign数字证书认证中心

                   理解SSLhttps)中的对称加密与非对称加

posted on 2012-03-31 23:25  滴答的雨  阅读(3691)  评论(2编辑  收藏  举报