簡體   English   中英

IO代碼簽名澄清

[英]IOs code signing clarification

據我所知,有4種方法可以在IO上分發應用程序:

  1. 發展
  2. 特設
  3. 企業
  4. 應用商店

我理解發展的分配方式是如何運作的。 您需要向Apple提交證書申請,並為您頒發證書。 然后使用此證書對您的應用程序進行簽名。

但是,目前還不清楚Ad Hoc,Entreprise和App Store證書的工作原理。 特別是:

  • Ad Hoc可以安裝在各種設備上,但是,您無需在配置文件中指定設備。 您是否需要提交特殊請求以獲取Ad Hoc證書,以及設備級別的執行如何運作?
  • 同樣,據我所知,可以使用企業證書
    在不同設備上安裝應用程序(您無需提前指定)。 看起來Enterprise與App Store非常相似
    證書,即我看不出它們之間的區別。 證書的安全檢查如何適用於Enterprise?

我的直覺是Apple作為證書頒發機構,但是使用不同的根證書簽署所有這些類型的證書,即開發人員請求使用Developer Apple根證書簽名,Enterprise使用Enterprise Apple Root證書簽名。 然后,在設備上安裝期間,檢查根證書的類型並強制執行相應的決定。 我對嗎?

答案在於配置配置文件而不是證書或其權限。

沒有Ad Hoc證書這樣的東西。 只有分發證書和開發證書。 對於企業帳戶也是如此,其證書完全相同(除了出處類型的帳戶)。 所以Ad Hoc,App Store和Enterprise都是分發證書。 您的所有證書都由相同的權限簽署:Apple全球開發者關系證書頒發機構,因此他們不能擁有不同的根CA.

不同之處在於配置文件本身,這些只是Apple簽署的plists。 iDevices信任WWDR證書鏈的某些部分(根CA?),如果簽名檢出,則解釋配置文件,並決定是否可以安裝或運行給定的應用程序。

配置文件說明誰可以運行什么以及在哪些設備上運行。 它們由Apple簽署,因此設備可以驗證他們所說的內容。

我可以看到的配置文件類型之間的差異是:

企業簡介有

<key>ProvisionsAllDevices</key>
<true/>

特設有

<key>ProvisionedDevices</key>
<array>
  UDIDs! You do, in fact, need to specify them for Ad Hoc!
</array>

App Store配置文件似乎沒有特殊的配置信息。 事實上,我不確定它們是否真的安裝在設備上。

命令security cms -D -i your.mobileprovision對於探索配置文件非常有用。

我創建的維恩圖是為了簡化對iOS配置文件的理解。 我創建的維恩圖是為了簡化對iOS配置文件的理解。 請參閱此處的Google繪圖文檔: https//docs.google.com/drawings/d/1Td19Lf94Lep3h7jFD2mYdO564Y_LiWBaFaartDE8riU/edit? usp =sharing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM