天天看點

iOS 簽名加密原理(一)

我們知道,要想安裝iOS應用程式,必須要從appstore下載下傳。蘋果有一套簽名加密的機制來保證使用者不能從其他的管道安裝應用。

那麼蘋果如果做到讓iphone隻能安裝從appstore應用呢?

蘋果使用一對非對稱密鑰,對app來源進行控制。首先,私鑰A存放在蘋果appstore伺服器,該私鑰對應的公鑰A則存放在每一台手機上面。當應用開發者向appstore伺服器上傳應用二進制檔案之後,伺服器先對該二進制檔案進行hash簽名,然後用私鑰A對簽名進行加密。

當使用者從appstore下載下傳帶有加密後的簽名的APP安裝包之後,首先使用公鑰A對安裝包攜帶的加密過的簽名進行解密,然後對安裝包的二進制檔案按照同樣的hash算法進行計算hash簽名,讓後将這個簽名和簽名解密得到的簽名進行比對,如果相同就允許安裝到手機上,否則,拒絕安裝。

iOS 簽名加密原理(一)