目前在做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有没有标准,到底哪个是对的

posted on 2009-04-24 08:47  蜡笔旺旺  阅读(195)  评论(0)    收藏  举报