在上一篇文章中,我们介绍了HTTPS的混合加密机制
为了解决 无法验证公钥正确性的问题,可以使用数字证书认证机构(CA)及其颁发的数字证书
一、什么是CA和数字证书
CA(Certificate Authority)是客户端与服务器都可信赖的第三方权威机构,负责发放和管理数字证书,承担公钥的合法性检验的责任
简而言之,数字证书由CA的数字签名和服务器的公钥组成
派发给客户端的数字证书 会被CA的私钥加密,只有CA的公钥才能解密
二、CA的业务流程
首先,服务器会向CA提出公钥认证的申请
(即申请在CA中注册自己的公钥)
CA在判明服务器的身份后,会对公钥作数字签名
然后用私钥加密这份数字证书
三、通信过程
接下来 让我们重新梳理一下HTTPS混合加密的具体过程
在第一阶段的非对称加密中,服务器的公钥key3被包含在数字证书中
客户端收到后,使用CA的公钥,对证书进行解密,验证证书中的数字签名
操作系统和浏览器会维护一个权威第三方认证机构的列表(包括他们的公钥)
若验证通过,则说明:
- 颁发此证书的 是真实有效的数字证书认证机构(CA)
- 该服务器的公钥是值得信赖的(因为CA为其做了背书)