ios app簽名原理

p.jpeg
  1. 在你的 Mac 開發(fā)機(jī)器生成一對(duì)公私鑰,這里稱為公鑰L,私鑰L。L:Local
  2. 蘋果自己有固定的一對(duì)公私鑰,跟上面 AppStore 例子一樣,私鑰在蘋果后臺(tái),公鑰在每個(gè) iOS 設(shè)備上。這里稱為公鑰A,私鑰A。A:Apple
  3. 把公鑰 L 傳到蘋果后臺(tái),用蘋果后臺(tái)里的私鑰 A 去簽名公鑰 L。得到一份數(shù)據(jù)包含了公鑰 L 以及其簽名,把這份數(shù)據(jù)稱為證書。
  4. 在蘋果后臺(tái)申請(qǐng) AppID,配置好設(shè)備 ID 列表和 APP 可使用的權(quán)限,再加上第③步的證書,組成的數(shù)據(jù)用私鑰 A 簽名,把數(shù)據(jù)和簽名一起組成一個(gè) Provisioning Profile 文件,下載到本地 Mac 開發(fā)機(jī)。
  5. 在開發(fā)時(shí),編譯完一個(gè) APP 后,用本地的私鑰 L 對(duì)這個(gè) APP 進(jìn)行簽名,同時(shí)把第④步得到的 Provisioning Profile 文件打包進(jìn) APP 里,文件名為 embedded.mobileprovision,把 APP 安裝到手機(jī)上。
  6. 在安裝時(shí),iOS 系統(tǒng)取得證書,通過系統(tǒng)內(nèi)置的公鑰 A,去驗(yàn)證 embedded.mobileprovision 的數(shù)字簽名是否正確,里面的證書簽名也會(huì)再驗(yàn)一遍。
  7. 確保了 embedded.mobileprovision 里的數(shù)據(jù)都是蘋果授權(quán)以后,就可以取出里面的數(shù)據(jù),做各種驗(yàn)證,包括用公鑰 L 驗(yàn)證APP簽名,驗(yàn)證設(shè)備 ID 是否在 ID 列表上,AppID 是否對(duì)應(yīng)得上,權(quán)限開關(guān)是否跟 APP 里的 Entitlements 對(duì)應(yīng)等。
屏幕快照 2019-10-17 下午4.14.30.png
app可執(zhí)行文件.png

描述文件,簽名文件,frameworks.png

https://blog.csdn.net/olsQ93038o99S/article/details/99779465

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 筆者接觸打包已經(jīng)一段時(shí)間了,但一直對(duì)簽名都是似懂非懂,最近從加密數(shù)論知識(shí)起回看這部分知識(shí),感覺還是有很多不懂的地方...
    luonaerduo閱讀 1,324評(píng)論 0 3
  • 轉(zhuǎn):WeRead團(tuán)隊(duì)博客http://wereadteam.github.io/2017/03/13/Signat...
    最是光陰化浮末閱讀 584評(píng)論 0 5
  • iOS 簽名機(jī)制挺復(fù)雜,各種證書,Provisioning Profile,entitlements,Certif...
    不忘初心1990閱讀 414評(píng)論 0 1
  • iOS簽名機(jī)制挺復(fù)雜,各種證書,Provisioning Profile, entitlements, Certi...
    西南柯北閱讀 572評(píng)論 0 4
  • iOS 簽名機(jī)制挺復(fù)雜,各種證書,Provisioning Profile,entitlements,Certif...
    十年祤茉閱讀 859評(píng)論 1 29

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