2010-06-19 72 views
6

我正在做我的xcode項目[2]的遠程/自動構建[1],爲了簽署我的應用程序,我在構建之前添加了這行。無密碼解鎖OSX鑰匙串?

security unlock-keychain -p keychainpassword 

這工作得很好,並解鎖系統鑰匙串,其中榮譽證書存儲,但它暴露了其生成代理是在球隊城市運行界面都可以看到用戶的密碼。

構建進程正在運行作爲登錄的用戶,並且是自包含的......是我有辦法可以解除系統鎖定/默認鑰匙串不提供密碼?

我只是有一個想法,如果我移動的證書到登錄的鑰匙串(而不是系統),我還會有一個密碼才能解鎖?

這可能嗎?或者我應該設置哪些不能做任何損害,只是建立和別的什麼也不做,揭發該用戶的密碼的用戶..

[1]使用的TeamCity,但無關緊要。

[2] iPhone項目,但再次無關緊要。

+1

如果它真的對你那麼重要,你可以寫一個小的應用程序,解鎖鑰匙串,並從只讀用戶和所有其他人不能訪問文件中讀取密碼。這樣密碼就不會在進程列表中暴露。 – 2010-06-19 16:49:14

回答

2

您應該可以使用普通(非管理員)用戶進行構建,並使該用戶無密碼。然後,您可以在構建系統上以該用戶的身份自動登錄。

另一種方法是將密碼存儲在環境變量中,但幾乎不能隱藏密碼。

如果你有沒有密碼普通用戶,並且添加了證書登錄鑰匙串,你應該能夠建立遠程/自動/無人值守,沒有問題,包括代碼簽名。

0

security unlock-keychain自身的提示輸入密碼。