前置知识
在阅读本文章之前,需要先理解什么是对称加密,什么是非对称加密,什么是哈希。如果不理解他们之间的区别,请先阅读:什么是加密(Encrypt)?什么是哈希(Hash)?_codereasy的博客-CSDN博客
什么是数字证书
- 颁发者:CA证书授权(Certificate Authority)中心
- 拥有者:申请到证书的通信者
- 证书的作用:身份认证。表示我的身份被CA授权中心(专业权威的机构)认可了。
CA证书授权中心(Certificate Authority)
CA是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CA
中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA
机构的数字签名使得攻击者不能伪造和篡改证书。
CA对公钥和私钥的认证
对于私钥:CA认证中心/数字证书拥有者自己保存,不公开。
对于公钥:CA认证中心/数字证书拥有者把公钥存在他的CA认证中心的数字证书内。
CA数字签名的过程
数字证书一般包含以下几个部分:
证书内容: F
加密算法: 1.哈希算法 2.加密算法(使用CA的密钥加密)
F
加密得到的最终密文: F '
。
我们称证书内容(比如公钥)为 F 。F 通过哈希算法计算之后,得到一个新的字符串 h1。然后,h1 再被CA中心的私钥加密,得到 F ’。 F ’ 就是最终的密文。
验证CA证书的合法性
首先,CA中心的公钥是公开的,每个人都可以拿到它的公钥。所以我们使用 CA 的公钥对 F '
进行解密得到了 h2。
然后,我们现场对 F (原始字符串) 进行哈希算法加密,得到 h1 。
最后,比较 h1 和 h2 是否相同,如果相同,则认为证书是可信的,合法的。