SSL 协议
什么是 SSL 协议
SSL 协议 (Secure Sockets Layer) 安全套接字层 ,用于在服务器和客户端之间创建加密的网络链路,确保传递的所有数据都是私密且安全的。
SSL 协议 是最早用于网络加密的技术。 现在,现代浏览器和服务器已不再支持该功能。TLS 协议 (Transport Layer Security) 传输层安全协议 是目前推荐使用的标准。
SSL/TLS 协议的主要功能实现主要依赖于三大算法:
HTTPS 协议 是建立在SSL/TLS 协议 之上的。

基本原理

客户端请求服务端,获取服务端的公钥key客户端随机生成一个对话密钥使用公钥key加密,只有服务端的私钥可以解密,这样客户端和服务端都会有一份对话密钥。客户端和服务器采用对话密钥进行加密通信,这样可以保证数据传输的效率,双方都可以对加密的数据进行解密。
CA 证书
为了确保公钥key不被“中间人“篡改以及攻击。需要把公钥key放在数字证书里面,只要数字证书是可信的,公钥就可以信任。
基本组成
- 绑定的域名
- 颁发证书的机构
- 使用 CA 私钥加密的公钥
- 使用 CA 私钥加密的签名
- 证书绑定的域名
- 服务端的
公钥key - CA 证书的
公钥key
验证证书是否合法
- 检查证书列出的域名是否和用户实际访问的域名匹配
- 检查证书是否在有效期 内
- 通过
CRL和OCSP检验证书是否被吊销 - 检查颁发证书的机构 是不是受客户端信任
- 使用
CA 证书的公钥验证签名,是否和当前证书的签名一致