一、在 .NET 程序中使用证书
请参见
二、在 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. HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是由Netscape开发并【内置】于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层(HTTPS使用端口443,而不是像 HTTP那样使用端口80来和TCP/IP进行通信)。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL。
3. 对网站启用SSL
1) 首先使用IIS创建服务器证书(选中根节点)
2) 然后选择需要启动SSL的网站,进行“网站绑定”添加HTTPS端口和服务证书
3) 最后选择需要启动SSL的网站或页面,点击SSL设置
4. 应用示例
---------------网站如何通过加密和用户安全通信
SSL技术已建立到所有主要的浏览器和 WEB 服务器程序中,因此,仅需安装 SSL证书就可以激活服务器的安全通信功能,在通讯双方间建立起一条安全、可信的通道。SSL原理很简单:
1) 当你的浏览器向服务器请求一个安全的网页(通常是 https://),服务器就把它的证书和公钥发回来,浏览器检查证书是不是由可以信赖的机构颁发的,确认证书有效和此证书是此网站的。
2) 浏览器随机生成一个对称密钥,加密URL得到密文A,浏览器再使用证书公钥加密对称密钥得到密文B,再将A和B一起发送到服务器。
3) 服务器用自己的私钥解密密文B得到对称密钥。然后用对称密钥解密密文A得到URL,验证URL。
4) 后续服务器与浏览器之间的通信,就使用这个随机生成的对称密钥进行加解密
《 数字签名|数字证书》系列
参考资料: