2015-09-21 27 views
0

問題:簽名應用程序時使用的WWDR中間證書究竟如何?

我對使用iOS開發的WWDR中級證書的目的有點困惑。執行以下步驟後:

  1. 生成公鑰/私鑰對;
  2. 根據生成的對生成證書籤名請求(CSR),並將其發送給Apple;
  3. 接收回來的證書,由蘋果公司簽署的,這驗證了我自己與所提交的公鑰相關聯的私鑰,

我似乎已經擁有一切,我需要簽名的應用程序(使用我的私鑰),並向Apple證明我是私鑰的所有者。因此,我得出以下相關問題:

  • 爲什麼需要WWDR中級證書?
  • WWDR中級證書封裝了哪些信息?
  • 代碼簽名過程的哪個階段是由使用的WWDR中間證書封裝的信息,以及如何操作?

語境:

我是誰一直在做iOS開發了近3個月的Android開發者。到目前爲止,我已經建立了我的理解:

  • 公鑰密碼學的基本原理;
  • PKC如何允許簽署實體;
  • 需要個人和CA之間的信任鏈,以便籤名有用。

我已閱讀過問題like this one,指出需要WWDR中級證書來驗證通過CSR發送給Apple的所有其他證書是否有效。驗證是如何進行的?是否下載中間證書是驗證另一證書的簽名人是否爲CA的典型方法?

+1

通常使用中間證書來允許使用脫機根證書。根證書用於在脫機過程中生成中間證書。這有助於進一步保護根私鑰,就好像它不保持聯機一樣,那麼它就不會通過安全違規泄漏。如果中間證書受到損害,那麼該證書可以被撤銷並重新發布,而不需要更新數百萬設備中保存的根公鑰,或者危害許多其他證書,Apple可能已針對不同目的發佈了 – Paulw11

+1

要進一步回答您的問題,已向Apple證明您是私鑰的所有者。當他們簽署CSR時,您可以向iOS證明您已向Apple證明您是私鑰的所有者。要做到這一點,他們使用WWDR中間證書的私鑰簽署您的CSR – Paulw11

回答

1

您在CSR中提供了一些詳細信息,包括Apple的公鑰。從技術上講,這不能證明你擁有私鑰,但簽署的信息可以用來驗證你的公鑰。只要您的私鑰保密,那麼使用您的公鑰解密的內容必須使用相應的私鑰加密。這意味着iOS設備可以信任您生成的配置文件和應用程序,因爲您的身份可以通過驗證並鏈接到他們信任的內容。

您的CSR由WWDR中間證書籤名的原因是爲了幫助確保Apple根密鑰對的安全性。根密鑰對是非常重要和敏感​​的事情。對蘋果公司的訪問將僅限於極少數人使用。將它安裝在互聯網連接的計算機上,以便它可以簽署您的CSR將是非常危險的。

爲避免在線使用根證書,使用了中間CA.根證書用於在脫機進程中生成中間CA.

然後,如果中間CA證書被破壞,那麼該證書可以被吊銷和重新發布,而不需要更新在數百萬設備中持有的根公鑰,或者損害Apple可能針對不同目的發佈的許多其他證書

+0

優秀的答案!一個問題:如果CSR返回已由中間證書籤名的證書,爲什麼還需要將中間證書下載到我的機器?我認爲簽名的驗證通常是遠程執行的?或者,這是否會回到需要保持根密鑰對的祕密? – stkent

+1

您的機器需要信任認證鏈中的所有步驟。雖然理論上它可以通過互聯網驗證證書,如果您沒有連接到互聯網,這會導致問題,並且在驗證過程中也可能存在與攻擊相關的風險 - 中間人攻擊。操作系統,如OS X,帶有許多已安裝的可信根(查看Keychain Access中的系統根目錄),但WWDR IC不在其中。 – Paulw11

+0

我明白了,有趣。我很驚訝它沒有默認安裝;據推測,出於安全原因,默認安裝最小的實用證書集合被認爲是有利的。 – stkent

相關問題