解锁OSX钥匙串没有密码?

时间:2010-06-19 15:37:55

标签: iphone xcode xcodebuild codesign

我正在进行我的xcode项目的远程/自动构建[1] [2]并且为了签署我的应用程序,我在构建之前添加了这一行。

security unlock-keychain -p keychainpassword

这样可以正常工作,并解锁存储证书的SYSTEM密钥链,但是它会在团队城市界面中为构建代理运行的用户公开密码,供所有人查看。

构建过程作为登录用户运行,并且是自包含的......有没有办法可以在不提供密码的情况下解锁系统/默认钥匙串?

我刚才有一个想法,如果我将证书移到登录的钥匙串(而不是系统),我还需要用密码解锁吗?

这有可能吗?或者我应该设置一个不会造成任何损害的用户,只需构建并不做任何其他操作并公开该用户的密码..

[1]使用Teamcity,但不相关。

[2] IPhone项目,但又无关紧要。

2 个答案:

答案 0 :(得分:2)

您应该能够使用常规(非管理员)用户进行构建,并使该用户没有密码。然后,您可以在构建系统上以该用户身份自动登录。

另一种方法是将密码存储在环境变量中,但这几乎不会隐藏密码。

如果您的普通用户没有密码,并且您将证书添加到登录密钥链,则应该能够远程/自动/无人值守构建而不会出现任何问题,包括代码签名。

答案 1 :(得分:0)

security unlock-keychain自己提示输入密码。