前提
- 非对称加密
- 公私钥能相互解开,但是对于被嵌套的公私钥,相当于嵌套的锁,一定要将外层的锁解开之后才能解开内层的锁
- 有一个公证人,即证书中心,CA
过程
- 服务器产生公私钥
- 将公私钥发送给CA
- CA生成客户端浏览器公私钥
- CA使用客户端浏览器的私钥对共服务器的公钥进行加密,得到证书,返回给服务器
- CA将证书发给客户端
- 服务器发送公钥与证书给客户端
- 客户端利用公钥对证书解密,对比服务端公钥,确认来源无误
- 客户端生成随机密码,保存在本地,然后使用服务端公钥加密
- 将加密的密码返回给服务端
- 服务端使用私钥解密得到客户端密码
- 此时完成了密码交换工作
- 此后进行的所有数据交换都会事先使用这个密码进行对称加密,如DES,3DES。
- 总结:对密钥进行非对称加密,后使用密钥进行对称加密