证书公钥私钥是什么《公钥和私钥数字证书》
公钥、私钥、签名、证书之间傻傻分不清

首先,一提起非对称密码,Alice和Bob的故事肯定就马上从脑海里面跳出来了。
对于公钥和私钥,肯定已经耳熟能详了,在此就不再详述。
下面,主要梳理“数字签名”(signature)和“数字证书”(Digital Certificate)之间的关系:
概括而言,数字证书就是经过CA认证过的公钥,而私钥一般情况都是由证书持有者在自己本地生成的,由证书持有者自己负责保管。
1、数字签名
( hash) (私钥)
信息 → 摘要 → 数字签名
2、数字证书
参考资料:
1) (简明易懂)
2) (较详细,更正式)
RSA 公钥和私钥
首先明确一点,公钥和私钥是成对出现的。一个负责加密,另一个负责解密。公开的就是公钥,自己留着的就是私钥。所以不管加密还是解密密钥都是可以是公钥或者私钥的。
所以如果别人发东西给我,我就需要把加密密钥给别人,解密密钥自己藏着,这样就是公钥加密,私钥解密。
如果我想让别人确认我的身份,我就需要把解密密钥给别人,加密密钥自己留着,给自己加密,别人获得密文后用我的解密密钥才可以解密。所以这里就是公钥负责解密,私钥负责加密。
例如服务器证书,一个证书中通常包含很多字段,其中包括:
浏览器收到证书时会对签名颁发机构进行检查。如果这个机构是个很有权威的公共签名机构,浏览器可能已经知道其公开密钥了(浏览器会预先安装很多签名颁发机构的证书),然后用公钥解密,获得相关信息,例如获得证书里面的Web站点的名称和主机名,看看与当前浏览器的地址栏中的地址是否匹配,不匹配的话,浏览器就会给出警告(你可能看到过),提示当前证书是颁给xxx域名的,不是给当前域名的,让你注意。
数字签名中的密钥(公钥、私钥)
CA:
发放和管理数字证书的权威机构,电子商务交易中受信任的第三方,主要负责公钥体系中公钥的合法性检验。
非对称加密算法
非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey),用公钥揭秘私钥加密的数据,用私钥揭秘公钥加密的数据。
RSA:
一种广泛使用的非对称加密算法。
公钥:
密钥对中公开的部分。
私钥:
非公开的部分。
摘要:
对任何输入报文数据生成固定长度的摘要,主要通过HASH函数
签名:
使用自己的私钥对摘要加密
发送方
1.生成摘要
2.生成签名
3.拼接数据
4.发送数据
接受方
1.解密接受到的数据
2.分离数据
3.计算摘要
4.完整性验证