近期在在網上瀏覽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