近期在在网上浏览SSL协议加密有关的文章时,越感对“数字签名”产生了不小的困惑。直接搜索“什么是数字签名”,发现了这篇早期文章:html
http://www.youdzone.com/signature.html,很是早。但是依然回味无穷。在网贴上也找到了相关的翻译:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html。git
读了下来,认为它这个翻译事实上仅仅是义译。连“故事情节”都变更很多。因而就本身动起手来,因而就有了本文..加密
Bob的公钥对于需要它的不论什么人都能获得,但是他的私钥则本身保留。密钥(公钥和私钥)是用来加密信息的。spa
加密信息的过程意味着“混淆打乱”,以致于仅仅有拥有合适密钥的人才干将其再次变得可读。翻译
Bob的两把钥匙中,不论什么一把用来加密数据,还有一把就能解密数据。htm
Susan(例如如下展现)用Bob的公钥加密了一条信息发给Bob,Bob则用私钥来解密信息进行读取。Bob的任一同事可能都可以拿到Susan已经加密的信息。但是没有Bob的私钥,这些数据都是无用的。blog
Plot 纠结ing..(悲剧,没故事...)
Susan的CA证书验证则被普遍的接受。
咱们接着说Bob把已经签名的文档发给了Pat。文档
为了验证在文档上的数字签名。Pat首先借助软件用Susan(即CA)的公钥来检測Bob文档上的证书。假设顺利解开了证书则证实是Susan生成的它。get
解开证书以后。Pat可以经过联系CA中心。与Bob证书上的信息对比,以检查文档是否被改动过。
而后。pat从证书中拿到Bob的公钥。用它来检測Bob的签名。it
假设Bob的公钥能够顺利解开签名,Pat就行肯定这个签名是利用Bob的私钥生成的。同一时候也匹配了Susan颁发的证书公钥。并且。假设签名是对比的,也说明了Doug不可能改动了文档内容。
虽然,这些步骤看起来挺让人头疼的,它们却以Pat有关的用户友好的软件场景手把手似的。
验证签名信息,Pat仅仅需点击下图:
(图为验证数字证书的标识)
连接: http://pan.baidu.com/s/1qWNrSZy password: vsi1