CA证书的组成主要包含了公钥、公钥拥有者名称、CA 的数字签名、有效期、授权中心名称、证书序列号等信息。
证书是怎么样创建的呢?
首先服务器生成自己的公钥和私钥,公钥发给CA机构。
CA机构有一套自己的公钥和私钥。
CA证书结构如下:内容和签名
第一部分:服务端的公钥,服务器名称、授权中心名称、有效期、序列号等。
第二部分:数字签名,数字签名即第一部分使用hash 压缩的,CA 机构使用 自己的私钥进行加密的。
CA证书也包括指纹算法(签字哈希算法)
然后构成了CA证书。CA证书签发给服务端。CA根证书CA根公钥内置在浏览器,CA根证书内置在客户端的操作系统。
https的流程
首先是先进行TCP连接(三次握手)。紧接着服务端向客户端发送证书。
客户端收到证书,将证书上的CA根证书与操作系统内置的CA根证书匹配。
如果匹配失败,说明证书不合法。
客户端进行哈希压缩证书的第一部分得到一段字符。
客户端使用浏览器内置的 CA公钥 解密第二部分,获得一段字符。
两段字符对比,如果相同没有问题。
如果不同,可能证书被修改过或者不是使用CA公钥加密的。以上一套流程是保护CA证书本身的。
客户端生成随机对称密钥,使用服务端的公钥给这个密钥加密,发送给服务端。
然后通过客户端生成的对称密钥进行http通信。
所以在https中CA证书的作用是确认网站合法性。