三:蘋果簽名原理

  • 首先Windows或者是安卓系統(tǒng)各種盜版軟件或者是個人開發(fā)軟件(非官方軟件)都可以安裝,iOS 為了解決這個問題對上架APP進行加簽操作,如圖:


    防止安裝3方軟件
  • 如果這樣以后,只能在App Store下,不能開發(fā)調(diào)試,也不能使用企業(yè)賬號打包的,為了解決這個問題,蘋果使用雙重驗證,如圖:


    雙向驗證
  • 申請證書步驟

  1. mac使用鑰匙串創(chuàng)建CSR文件(文件其實就是公鑰)如圖:
文件
公鑰生成請求證書所填寫的內(nèi)容
  1. App Store 使用自己的私鑰加簽mac 請求的CSR文件,返回證書文件
  2. Xcode 使用生成CSR文件的公鑰對應(yīng)的私鑰加簽APP包(同時APP包里邊包括服務(wù)器返回的證書)
  3. 測試手機里邊包含App Store服務(wù)器對應(yīng)的公鑰,使用公鑰驗簽證書是否是是蘋果服務(wù)器授權(quán)的,再用證書里邊的公鑰驗證加簽的APP(在這個過程中,不驗證APP是否被串改(APP的完整性),因為開發(fā)過程中APP經(jīng)常改動)。
  • 然而這樣以后只要是開發(fā)人員打包的應(yīng)用都可以裝到任何手機上,所以蘋果又增加了注冊設(shè)備,注冊AppID,權(quán)限等等的限制條件;完整的流程如圖:


    完整流程
  1. 還是和原來一樣使用公鑰請求證書,但是必須在蘋果的后臺填寫測試手機的UUID和程序的AppID 來生成描述文件
  2. 下載證書和描述文件,證書安裝到鑰匙串,而描述文件安裝到Xcode,以后打包的時候,打包到APP包里邊
  3. 使用私鑰簽名APP,這個簽名保存到APP的MachO文件里邊
  4. 安裝到手機上的時候,公鑰去驗證描述文件里邊的證書,設(shè)備編號,等等信息,證書里邊的公鑰去驗證APP的簽名
  5. 多人合作開發(fā)的時候,申請證書的開發(fā)人員在鑰匙串中導(dǎo)出申請好的證書的p12證書給他人使用(證書其實就是私鑰),而其他的開發(fā)人員使用這個私鑰和描述文件去打包調(diào)試
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一 概述 之前我在做iOS項目開發(fā)時,由于采用的是自己的開發(fā)者賬號,在Xcode的General配置中勾選上Aut...
    YesWeCan閱讀 2,109評論 0 14
  • 在iOS開發(fā)過程中,不可避免的要和證書打交道,真機調(diào)試、App上架、打包給測試去測試等都需要搞證書。在此過程...
    進無盡閱讀 3,097評論 2 6
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念,然后通過一個加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    納蘭三少閱讀 2,045評論 1 6
  • 手機是如何確保從app store下載的app是沒被惡意篡改,以及如何驗證app開發(fā)者身份的呢? 一、數(shù)字簽名(d...
    pengquanhua閱讀 2,087評論 0 4
  • 原文地址 因為蘋果的安全策略,通過簽名機制保證手機上的每個app都是經(jīng)過蘋果認證的。安裝方式: 通過App Sto...
    憶思夢閱讀 1,276評論 1 1

友情鏈接更多精彩內(nèi)容