2012-04-19 38 views
2

這是我的場景。我在一個由3名開發者組成的團隊工作。目前,我是唯一一個負責開發iPhone的人員,因此我們有一個項目是我創建,測試並創建了一個部署證書,因此我可以構建它並將其部署到少數設備。 1個開發人員,1個應用程序,這非常簡單。這是我的問題所在。有沒有辦法爲企業中的團隊部署創建部署配置文件的通用私鑰?

現在讓我們說一個其他開發人員必須簽出源代碼,進行更改和重新部署,我不在身邊,我開發的計算機也不是。我已閱讀了所有我能找到的內容,並且我瞭解其他開發人員需要下載分發證書和部署供應配置文件,並且我還需要將分發證書的私鑰導出爲.p12格式,以便將它們放入其中機。這一切都像說的那樣工作。

我有什麼問題以及我無法弄清楚的是我創建的分發證書是用我的開發人員私鑰簽名的。我覺得這不應該是這樣,因爲如果我出口這個給他們,他們現在有我的私鑰,從我所能告訴的是你應該保密的東西,並在一個安全的地方,讓我在其他地方發展機器或者我需要重新安裝,而不是我將其他開發人員只爲了部署而給予的東西。反之亦然,當他們創建一個應用程序,我需要進行更改和部署。

我到處搜索了一個答案,但我似乎無法找到確切的答案,我需要了解我錯過了什麼。也許我只是錯過了一些重要的概念。

  • 有沒有辦法用我公司的私人密鑰而不是我自己創建一個配置文件?或者,如果我必須爲每個項目創建分發證書,我甚至可以爲每個項目命名一個密鑰。
  • 是否分享我的私人密鑰附加到分發證書錯誤/壞?
  • 他們可以用我的私鑰做什麼?我覺得我們應該有一個公司的私鑰或什麼東西。

我知道這是很長時間的囉嗦,但我現在真的很茫然。這裏是另一篇相似的文章,也鏈接到另一篇文章,該文章的問題與我所知道的相同,但至少據我所知,沒有得到明確回答。

Enabling multiple team admins to build an app for distribution in XCode 4.3?

如何一個開發團隊都可以構建和部署,而無需共享其私鑰任何幫助將不勝感激。我認爲這很簡單,因爲我無法想象其他公司正在從一臺機器進行部署。

Jon

+0

史詩閱讀和+1給你的細節 – 2012-04-19 02:53:36

回答

0

您的開發者私鑰沒有與分發證書一起使用。上面的場景涉及兩個私鑰。

打開鑰匙串訪問,選擇您的登錄鑰匙串,並選擇類別下的「我的證書」。

1)您的開發人員私鑰永遠不需要與其他開發人員共享。它是獨一無二的,僅供您使用。只有當您要遷移到新計算機時,您才需要導出該計算機。在您的鑰匙串訪問應用程序中,您將看到此證書列爲「iPhone開發人員:您的姓名」

2)分發證書具有單獨的私鑰。它位於創建分發證書請求的計算機上,並位於列爲「iPhone分發:您的公司名稱」的Keychain Access應用程序中。您需要導出此證書(包括公鑰和私鑰)以允許其他人使用現有配置文件創建企業分發。有關如何導出這些密鑰的信息,請參閱:https://stackoverflow.com/a/9418712/600753

我推薦上述方法,但另一種方法是讓其他開發人員創建另一個分發證書和另一個供應配置文件。這種方法有可能會混淆Xcode中配置文件的自動選擇,並且通常比它的價值更麻煩。

1

答案(如題)稍長:

1)作爲一項規則,發行配置的配置文件(點對點,企業點播服務和AppStore的)使用不同的證書/密鑰對,然後開發配置文件。在供應門戶中清楚標記(例如,開發人員證書,分發證書和推送證書)。

2)公司傾​​向於限制對分發密鑰的訪問,因爲它們的泄漏會帶來重大的安全隱患(例如,某人可能會嘗試使用惡意軟件等分發您的應用程序)。通常的做法是有一到三個指定的「簽名者」

3)至於一個多次分配證書:你可以擁有的分配證書數量有限制(我認爲是兩個)。另外,如果是分發配置文件,則只能選擇一個。因此,如果您想定期使用兩個密鑰/證書,則必須爲同一應用提供兩個配置配置文件。相信我! xcode會讓你後悔這個想法!

附加說明:理論上應該可以使用您選擇的私鑰/公鑰來創建CSR(證書籤名請求),而不是生成新私鑰的默認行爲。 More here

相關問題