美文网首页
证书和签名 2021-08-29

证书和签名 2021-08-29

作者: 9_SooHyun | 来源:发表于2021-08-29 18:16 被阅读0次

    数字签名

    私钥加密消息即可得到数字签名,用公钥解密签名称为验证签名
    只有持有私钥的用户可以生成签名,而由于公钥的公开性,所有用户都可以验证签名

    生成数字签名

    一般来说,不直接对消息message进行签名,而是对消息的哈希值(message abstract)进行签名。简短地说,是对消息摘要进行签名,步骤如下

    • 对消息进行哈希计算,得到哈希值,即摘要

    • 利用私钥对哈希值进行加密,生成签名

      sig = private(hash(message))

    验证签名

    • 用公钥对签名进行解密,得到哈希值1
    • 对消息正文进行哈希计算,得到哈希值2
    • 比较哈希值1和哈希值2,如果相同,则验证成功

    证书

    考虑这样一种场景:我们对签名进行验证时,需要用到公钥。如果公钥也是伪造的,那怎么办?如果公钥是假的,验证数字签名那就无从谈起,根本不可能从数字签名确定对方的合法性

    证书实际上就是CA对其他互联网服务机构的公钥进行数字签名,以提供这些机构的公钥合法性证明

    这样,当客户端通过https请求服务端时,服务端发回自己的公钥和证书(公钥就是消息正文,证书就是数字签名),客户端用CA的公钥来验证证书(步骤见上文#验证签名),验证通过客户端即信赖服务端

    相关文章

      网友评论

          本文标题:证书和签名 2021-08-29

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