数字证书
bash
## 原理参考
https://mysticaldream.github.io/2023/05/certificate/
##
https://blog.csdn.net/m0_52440465/article/details/130713591
简介
数字证书是由证书颁发机构(CA)签名并颁发的电子文件,用于建立网络连接的身份认证和加密通信。SSL 证书是数字证书的一种。
工作原理
SSL 证书包含以下信息:
- 针对其颁发证书的域名
- 证书颁发给哪一个人、组织或设备
- 证书由哪一证书颁发机构颁发
- 证书颁发机构的数字签名
- 关联的子域
- 证书的颁发日期
- 证书的到期日期
- 公钥
- 客户端向服务器发起连接请求,并请求建立安全连接。如果服务器支持SSL协议,它会向客户端返回一个数字证书。
- 客户端收到服务器的数字证书,并验证证书的合法性。这个过程包括检查数字证书是否由受信任的证书颁发机构(CA)签发,证书是否已过期,证书的主题名称是否与访问的网站域名匹配等。
- 如果数字证书被验证为有效,客户端会生成一个随机的对称密钥,并使用服务器的公钥加密这个密钥,然后将其发送给服务器。
- 服务器使用自己的私钥解密客户端发送的对称密钥,然后开始使用这个密钥加密和解密通信数据。
- 现在,客户端和服务器之间建立了安全连接,可以开始在加密的通道上发送和接收数据