閱讀解釋:
本字體代表計算式子
本字體代表關鍵名詞
本機的公鑰(LocalPublicKey)
本機的私鑰(LocalPrivateKey)
Apple公鑰(ApplePublicKey)
Apple私鑰(ApplePrivateKey)
AppStore發(fā)布
1.通過 鑰匙串 - 從頒發(fā)機構申請證書,生成 本機的公鑰(LocalPublicKey).
2.登陸 AppleDeveloper 后臺提交公鑰,下載 Distribution.cer 并且導入匙串.
-
Apple私鑰(ApplePrivateKey) Encryption 本機的公鑰(LocalPublicKey) + 本機的公鑰指紋(本機的公鑰進行sha256計算后的hash值,也稱摘要) = Distribution.cer
.
-
- 可通過 Apple公鑰(ApplePublicKey)解密出 本機的公鑰(LocalPublicKey) + 公鑰指紋,再對本機的公鑰(LocalPublicKey)進行sha256,并且與 公鑰指紋 對比,相同則本機的公鑰(LocalPublicKey)沒有被篡改.可以放心使用.
3.登陸 AppleDeveloper 后臺新建App.生成AppID.
Team ID + 應用的BundleID + 應用的權利(如內部付費等) = AppID
4.選擇對應AppID,創(chuàng)建 DistributionProfile.mobileprovision 文件,下載導入Xcode.
-
AppID + Distribution.cer = DistributionProfile.mobileprovision
.
-
AppID + Develop.cer + 設備列表 = DevelopProfile.mobileprovision
5.打包App上傳到AppStore.
- (1)Xcode 使用
Apple公鑰(ApplePublicKey) Decrypt DistributionProfile.mobileprovision = AppID + Distribution.cer
驗證其是否遭到篡改.如果正確,則繼續(xù). - (2)判斷解密出來的 AppID 與 Distribution.cer是否與當前編譯的工程匹配.包括各種應用權利是否匹配.
- (3)提交到Apple后臺.生成IPA.
- (4)認證審核通過后,IPA使用Apple私鑰(ApplePrivateKey)加密,并公布到AppStore.
6.下載IPA到iPhone.
- IPA由Apple私鑰(ApplePrivateKey)加密
- iPhone內置Apple公鑰(ApplePublicKey)
- (1)Apple公鑰(ApplePublicKey) 解密 IPA ,驗證IPA的sha256摘要是否與解密出來的指紋相同.相同則表示未篡改,此IPA是Apple認證的.可以進行安裝.
- (2)如果證書過期,則直接失敗,導致不可安裝.