非對稱加密算法 通過一個私鑰一個公鑰來完成袖外。這個可以通過算法生成汁掠。私鑰生產(chǎn)的東西公鑰可以揭秘出來略吨,公鑰加密的東西,私鑰也可以揭秘考阱。于是可以把公鑰公開翠忠,避免了對稱加解密的尷尬。
說它的兩個應用乞榨。
https 跟 ios應用簽名
https 服務器下發(fā)自己的公鑰給客戶端秽之,客戶端收到之后再發(fā)送一個隨機對稱密鑰給服務器当娱。之后他們使用這個對稱密鑰進行通行。避免傳輸明文密碼的尷尬考榨,當然中間還有幾個步驟跨细。
ios使用開發(fā)人員的密鑰對代碼資源進行加密生成一堆描述文件。app安裝到iphone上河质,iphone用包含在其中的開發(fā)人員的公鑰對描述文件進行解密扼鞋,進而驗證app 的歸屬以及合法性。
中間還要加一個東西愤诱。證書這個東西。
公鑰一般不單獨出現(xiàn)捐友。一般是包含在證書里面出現(xiàn)的淫半。因為不管是瀏覽器,還是iphone都要先驗證你這個公鑰的合法性匣砖,才能進而使用這個公鑰科吭。證書一般有一個證書鏈,就是表明了這個證書是誰頒發(fā)的猴鲫,比如apple对人。這個時候瀏覽器就去系統(tǒng)里面尋找apple的證書,而且確信apple的證書不會是假的拂共。用apple的證書來驗證當前需要驗證的這個證書的合法性牺弄。當認定這證書合法,取出證書里面的公鑰宜狐,開始做你想做的事情了势告。
當證書驗證失敗,就無法進行下一步操作抚恒,一個例子就是使用unity開發(fā)的ios游戲咱台,如果單單允許https連接“https://kyfw.12306.cn/otn/regist/init” 會失敗,因為它的證書是自己發(fā)的俭驮。