公钥证书是什么
https在建立通信时首先会采用非对称加密的方式传输数据
(这里的传输数据一般是随机生成的key 这个key用于后续的对称加密)
服务端会生成一对秘钥, 公钥和私钥
公钥交给客户端 私钥留给服务端自己
客户端在拿到公钥后 如何确保拿到的公钥就是想要访问的服务端的公钥呢?
这时就需要有一个公认的权威机构来证明, 公钥是来自指定的服务端的公钥
认证机构的工作
认证机构会生成一对秘钥, 公钥和私钥
公钥证书的生成包括了两部分内容
- 数字签名
- 服务器公钥
其中数字签名的生成过程是:
- 服务器公钥 经过数字摘要算法 生成数字指纹
- 把生成的数字指纹 在用认证机构的私钥加密 生成数字签名
https中客户端验证公钥证书的过程
服务器将公钥证书发送给客户端 客户端验证公钥证书 从而确保公钥的合法性
- 客户端取出提前内置在手机内部的认证机构的公钥
- 用认证机构的公钥去解密公钥证书里的数字签名 从而得到数字指纹
- 客户端对公钥证书的服务器公钥进行 数字摘要算法 从而生成数字指纹
- 对比客户端自己生成的数字指纹(第3步)和解密得到的数字指纹(第2步)是否一致 如果一致则公钥证书验证通过 就可以进行接下来的握手步骤了
网友评论