https 三次握手
2016-03-29 16:06
387 查看
1,客户端输入https网址,链接到server443端口;
2,服务器手中有一把钥匙和一个锁头,把锁头传递给客户端。数字证书既是公钥,又是锁头
3,客户端拿到锁头后,生成一个随机数,用锁头把随机数锁起来(加密),再传递给服务器。这个随机数成为私钥,现在只有客户端知道
4,服务器用钥匙打开锁头,得到随机数。该随机数变成了新的锁头,把内容锁起来(加密),再传递给客户端。这个随机数服务器也知道了,并且用它来加密数据
5,客户端用自己手中的钥匙(随机数),解密后得到内容。客户端用私钥解密数据
6,接下来的客户端和服务器的数据交换都通过这个随机数来加密。只有客户端和服务器知道私钥,所以数据传输是安全的,不是明文的
图解如下:
2,服务器手中有一把钥匙和一个锁头,把锁头传递给客户端。数字证书既是公钥,又是锁头
3,客户端拿到锁头后,生成一个随机数,用锁头把随机数锁起来(加密),再传递给服务器。这个随机数成为私钥,现在只有客户端知道
4,服务器用钥匙打开锁头,得到随机数。该随机数变成了新的锁头,把内容锁起来(加密),再传递给客户端。这个随机数服务器也知道了,并且用它来加密数据
5,客户端用自己手中的钥匙(随机数),解密后得到内容。客户端用私钥解密数据
6,接下来的客户端和服务器的数据交换都通过这个随机数来加密。只有客户端和服务器知道私钥,所以数据传输是安全的,不是明文的
图解如下:
相关文章推荐
- tcping侦听网络状态
- iOS检测网络连接状态(转)
- TCP、UDP、HTTP、SOCKET之间的区别与联系
- phonegap文件,目录操作以及网络上传,下载文件(含demo)
- HTTP 请求
- socket 与TCP/UDP编程
- 面向报文(UDP)和面向字节流(TCP)的区别之二
- 浅析TCP字节流与UDP数据报的区别
- Android学习笔记---- HttpClient获取服务器数据
- (一)RxJava在Android网络框架中的使用
- 基于TCP实现简单的客户端服务端的消息传递(二)
- 优化网络请求
- httpclient4.5 例子
- iOS之 HTTP、Socket、TCP的区别(易混
- http状态码
- android通过网络访问adb
- ios开发--tcp/ip
- android 判断网络是否可用
- Windows系统下的TCP参数优化(注册表\TCPIP\Parameters)
- socketserver — 网络服务器的框架