ios簽名的原理是為了向APP添加信任而指定的數(shù)字簽名。 其作用是允許通過ios簽名的APP應(yīng)用程序直接安裝在蘋果手機(jī)上,而不需要通過App Store上架,因?yàn)樗弧罢J(rèn)證”了。
ios簽名的由來
主流操作系統(tǒng)( MAC/windows/Linux )上開發(fā)和運(yùn)行軟件不需要簽名,無論從哪里下載軟件都可以運(yùn)行。因此,平臺很難控制第三方軟件,盜版流行起來,安卓系統(tǒng)十分明顯。蘋果希望解決這樣的問題,為了控制和規(guī)范,必須保證安裝在iOS上的所有APP都得到蘋果官方的許可。你怎么保證?是通過簽名機(jī)制。
簽名相關(guān)概念:
證書:內(nèi)容為公鑰或私鑰,是其他機(jī)構(gòu)為簽名配置的數(shù)據(jù)包。
entitlements :包含app權(quán)限開關(guān)的列表。
CertificateSigningRequest :本地公鑰。
p12:本地私鑰,可以導(dǎo)入其他電腦。
配置文件:包含證書/實(shí)體等數(shù)據(jù)且蘋果在后臺使用私鑰簽名的數(shù)據(jù)包。
Ios簽名怎么弄?簽名的流程大致如下:
1 .在你的Mac開發(fā)機(jī)器上生成一對公鑰和私鑰。L:Local
2 .蘋果本身有一對固定的公鑰。與上面的AppStore示例一樣,私鑰位于apple的后臺,公鑰位于每個iOS設(shè)備上。
3.把公鑰l傳遞到蘋果后臺,用蘋果后臺的私鑰a去簽名公鑰l。所獲得的數(shù)據(jù)包括公鑰l及其簽名,該數(shù)據(jù)稱為證書。
4.在蘋果后臺申請AppID,配置設(shè)備ID列表和APP可用權(quán)限,添加步驟證書,將配置好的數(shù)據(jù)用私鑰A簽名,將數(shù)據(jù)和簽名一起預(yù)配。
5 .開發(fā)的過程中,在編譯一個APP后,用本地私鑰l對該APP進(jìn)行簽名,同時將步驟中獲得的Provisioning Profile文件命名為embedded.mobileprovision。
6.在安裝時,iOS系統(tǒng)獲得證書,并通過系統(tǒng)中內(nèi)置的公鑰驗(yàn)證嵌入式embedded.mobileprovision中的數(shù)字簽名是否正確,然后再次驗(yàn)證中的證書簽名。
7.確認(rèn)embedded.mobileprovision的數(shù)據(jù)全部獲得蘋果許可后,取出里面的數(shù)據(jù),用公鑰驗(yàn)證APP簽名,確認(rèn)設(shè)備ID是否在ID列表上APP。
ios簽名看著很復(fù)雜,其實(shí)讓簽名商來操作,只需幾分鐘就可完成,沒有開發(fā)者賬號的情況下,更需要簽名商了,當(dāng)我們有一定了解后,尋找靠譜的簽名商操作,更加快捷方便。
咨詢電話:18511557866
關(guān)注微信
關(guān)注微信