2016-08-07 281 views
0

我在閱讀this article,它解釋了iOS/OSX中的代碼簽名。代碼簽名混淆的ios證書

據我所知,鑰匙串訪問 ultility我可以看到我的證書,如果打開我的開發者證書,我可以看到有一個私鑰: enter image description here

文章說:

...你會找到你有私鑰的證書。要使用 證書進行簽名,您需要私鑰...

我明白這一點。

文章還稱:

從您的鑰匙串導出證書與私營 鍵,命令點擊該證書,選擇「導出...

這讓我感到私鑰被注入到證書中。

但文章接着說:

證書是 - 非常廣義上講 - 公鑰與 結合了大量的信息,這是本身的一些 權威

我籤會感到困惑,第一個報價表示證書包含一個私鑰,但上面的報價表示證書是一個公鑰和其他信息的組合。那麼私鑰在哪裏?

我能理解這樣的:

證書實際上是持有/嵌套一個私有密鑰的公共密鑰?那麼,如果我導出證書,我實際上是以X509證書的形式導出公鑰和私鑰以及其他信息?

回答

1

如果您正在導出證書,則不包括私鑰(除非您也選擇它)。 更多信息:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

該文章是正確的。證書本身不包含私鑰。但是,在該文章中,您需要使用私鑰選擇證書並將其導出。這樣做時,私鑰將包含在您創建的.p12文件中。

+0

你是說我正在閱讀的文章是錯誤的(如果你閱讀我的文章中的第二個報價)? –

+0

如果我想要另一個開發人員使用另一臺MacBook能夠建立我的項目,我應該出口證書給他有或沒有私人密鑰? –

+0

另一位開發人員應該能夠創建自己的開發人員帳戶,並使用他們自己的帳戶構建和運行應用程序。如果您希望其他開發人員能夠對您的應用程序進行代碼簽名並將其發送給蘋果併發布(或爲企業開發簽名),則他們需要同時擁有證書和私鑰。你應該小心地分享你的私鑰,特別是當涉及APNS時(這不是這種情況),但如果錯誤的人會得到它,你可以在蘋果公司撤銷你的證書並創建一個新的證書。這意味着舊的不能再使用了。 –