目前在做CA认证,从一个CA公司拿到的开发库,流程大致是这样的:
CA流程说明
A欲传(信息)给B,但又怕B不确信该信息是A发的。
1.A选计算(信息)的HASH值,如用MD5方式计算,得到:[RSA-SHA1(信息)]
2.然后用自已的私钥加密HASH值,得到:[私钥(RSA-SHA1(信息))]
3.最后将信息与密文一起传给B:传给B:[(信息) + (公钥) + 私钥(RSA-SHA1(信息))]
B接到 :[(信息) + (公钥) + 私钥(RSA-SHA1(信息))]
1.先用相同的HASH算法算出(信息)的HASH值,这里也使用MD5方式
得到: [RSA-SHA1(信息)!]
2. 再用A的公钥解密 [ 私钥(RSA-SHA1(信息))]
[公钥(私钥(RSA-SHA1(信息)))] = [(RSA-SHA1(信息)]
如能解开,证明该 [ 私钥(MD5(信息))]是A发送的
3.再比较[RSA-SHA1(信息)!]与[(RSA-SHA1(信息)]
如果相同,表示(信息)在传递过程中没有被他人修改过
在比较之后把原文拿下来直接使用,在另一篇CA认证文档认为,CA明文只用在确认身份的流程中,实际传输数据时是用私钥加密过的数据.
不知道CA有没有标准,到底哪个是对的
浙公网安备 33010602011771号