美文网首页iOS开发笔记
https中客户端对公钥证书的验证过程

https中客户端对公钥证书的验证过程

作者: 真像大白 | 来源:发表于2018-09-30 19:22 被阅读23次

    公钥证书是什么

    https在建立通信时首先会采用非对称加密的方式传输数据
    (这里的传输数据一般是随机生成的key 这个key用于后续的对称加密)
    服务端会生成一对秘钥, 公钥和私钥
    公钥交给客户端 私钥留给服务端自己
    客户端在拿到公钥后 如何确保拿到的公钥就是想要访问的服务端的公钥呢?
    这时就需要有一个公认的权威机构来证明, 公钥是来自指定的服务端的公钥

    认证机构的工作

    认证机构会生成一对秘钥, 公钥和私钥
    公钥证书的生成包括了两部分内容

    1. 数字签名
    2. 服务器公钥

    其中数字签名的生成过程是:

    1. 服务器公钥 经过数字摘要算法 生成数字指纹
    2. 把生成的数字指纹 在用认证机构的私钥加密 生成数字签名

    https中客户端验证公钥证书的过程

    服务器将公钥证书发送给客户端 客户端验证公钥证书 从而确保公钥的合法性

    1. 客户端取出提前内置在手机内部的认证机构的公钥
    2. 用认证机构的公钥去解密公钥证书里的数字签名 从而得到数字指纹
    3. 客户端对公钥证书的服务器公钥进行 数字摘要算法 从而生成数字指纹
    4. 对比客户端自己生成的数字指纹(第3步)和解密得到的数字指纹(第2步)是否一致 如果一致则公钥证书验证通过 就可以进行接下来的握手步骤了

    相关文章

      网友评论

        本文标题:https中客户端对公钥证书的验证过程

        本文链接:https://www.haomeiwen.com/subject/iktgoftx.html