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 通信 |