-
首先Windows或者是安卓系統(tǒng)各種盜版軟件或者是個人開發(fā)軟件(非官方軟件)都可以安裝,iOS 為了解決這個問題對上架APP進行加簽操作,如圖:
防止安裝3方軟件 -
如果這樣以后,只能在App Store下,不能開發(fā)調(diào)試,也不能使用企業(yè)賬號打包的,為了解決這個問題,蘋果使用雙重驗證,如圖:
雙向驗證 申請證書步驟
- mac使用鑰匙串創(chuàng)建CSR文件(文件其實就是公鑰)如圖:

文件

公鑰生成請求證書所填寫的內(nèi)容
- App Store 使用自己的私鑰加簽mac 請求的CSR文件,返回證書文件
- Xcode 使用生成CSR文件的公鑰對應(yīng)的私鑰加簽APP包(同時APP包里邊包括服務(wù)器返回的證書)
- 測試手機里邊包含App Store服務(wù)器對應(yīng)的公鑰,使用公鑰驗簽證書是否是是蘋果服務(wù)器授權(quán)的,再用證書里邊的公鑰驗證加簽的APP(在這個過程中,不驗證APP是否被串改(APP的完整性),因為開發(fā)過程中APP經(jīng)常改動)。
-
然而這樣以后只要是開發(fā)人員打包的應(yīng)用都可以裝到任何手機上,所以蘋果又增加了注冊設(shè)備,注冊AppID,權(quán)限等等的限制條件;完整的流程如圖:
完整流程
- 還是和原來一樣使用公鑰請求證書,但是必須在蘋果的后臺填寫測試手機的UUID和程序的AppID 來生成描述文件
- 下載證書和描述文件,證書安裝到鑰匙串,而描述文件安裝到Xcode,以后打包的時候,打包到APP包里邊
- 使用私鑰簽名APP,這個簽名保存到APP的MachO文件里邊
- 安裝到手機上的時候,公鑰去驗證描述文件里邊的證書,設(shè)備編號,等等信息,證書里邊的公鑰去驗證APP的簽名
- 多人合作開發(fā)的時候,申請證書的開發(fā)人員在鑰匙串中導(dǎo)出申請好的證書的p12證書給他人使用(證書其實就是私鑰),而其他的開發(fā)人員使用這個私鑰和描述文件去打包調(diào)試


