HTTPS在HTTP的基础上加入了SSL协议,对信息、数据加密,用来保证数据传输的安全。
单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。
双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输。
SSL 表示 Secure Sockets Layer(安全套接字层)。
TLS 表示 Transport Layer Security(传输层安全)。
TLS 是 SSL 的直接后继者,所有版本的 SSL 目前均已弃用。
但是,使用术语 SSL 来描述 TLS 连接的情况很常见。
在大多数情况下,术语 SSL 和 SSL/TLS 都是指 TLS 协议和 TLS 证书。
TLS 1.0 和 TLS 1.1 也在 2021 年被正式弃用。
TLS 版本 1.2 和 1.3(目前最新版本) 处于活跃使用状态。
TLS 是一种支持加密和身份验证的安全通信协议,SSL 在被弃用之前也是如此。TLS 和 SSL 都使用数字证书来简化握手过程并在浏览器和 Web 服务器之间建立加密通信。
单向认证中,只需要服务端保存公钥 server.crt 和 私钥 server.key 两个文件。
双向认证中,除了server.crt, server.key,还需要 root.crt保存在server端,client.crt,client.key 保存在客户端。 或者使用 客户端集成证书(包括公钥和私钥,用于浏览器访问场景):client.p12
3.1 client 将自己的公钥证书 client.crt发给server
3.2 server 使用根证书root.crt 解密client.crt,取出client公钥
使用client公钥加密后
返回给客户端使用client私钥解密
,生成随机数R,使用server公钥加密 C = Encrypt(R),将C发送给server原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。