Https
https 证书
客户 | CA证书机构 | 服务方
客户 C: 持有预装的 CA公钥!
CA: CA私钥,CA公钥
服务方 S: S私钥,S公钥,证书. 证书=CA私钥加密(S公钥,服务方各种信息)
握手过程
| Client | Server | |
|---|---|---|
| 发起连接 | — – - - - - - - -> | |
| <— 三次握手 —> | ||
随机x1,加密算法数组[]f |
—x1, []f—> | |
| <–x2,f— | 随机x2,从加密算法数组[]f中,选取一个支持的算法f |
|
加密过的证书=f加密(S证书) |
||
| <—- | 发送 加密过的证书 |
|
S公钥, 服务器信息=CA公钥解密(f解密(加密过的证书) ) |
||
验证 服务器信息 |
||
随机 x3 |
||
XX =S公钥加密(x3) |
–XX–> | |
x3=S私钥解密(XX) |
||
使用 密钥x1,x2,x3 通信 |
<—> | 使用 密钥x1,x2,x3 通信 |