摘要: 公私鑰:公鑰可以唯一解密私鑰加密過的數據,反之亦然。
SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設通信雙方是A和B,B是服務器,A要確認和它通信的是B:
A->B: hello
B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
A->B: ok
B->A: 用V1加密的一段信息
A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認為B是可信的了)
B->A: 用K加密的數據(之后兩對密鑰功能結束,由K來加解密數據)
這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。
這里(P1,V1)就是certificate authority (CA)用來給客戶簽名用的公私鑰。
(P2,V2)是客戶自己的公私鑰,提交給CA,CA所做的事情就是用(P1,V1)來給客戶的(P2,V2)簽名,簡單吧?
閱讀全文