钥匙串在运行代码时始终要求输入密码

时间:2013-12-19 10:43:08

标签: macos code-signing keychain codesign

我刚刚在Mac OS X 10.7上安装了我的证书,并在编译项目后编写了一个在许多文件上运行codesign的脚本。我创建了一个新的钥匙串,并在一段时间后禁用了锁定它的选项。它看起来像登录钥匙串。但是每次我的脚本运行codesign命令时都会发生以下错误:<filename>: User interaction is not allowed.如果我启动一个shell,用security unlock-keychain <path>解锁钥匙串,然后手动运行脚本,它就可以了。问题是如何保持钥匙串始终解锁,以便我的自动构建可以签署文件?

1 个答案:

答案 0 :(得分:5)

当您使用security unlock-keychain -p $PASSWORD $KEYCHAIN时,钥匙串将被解锁,但由于自动重锁,只需5分钟。要使钥匙串永久解锁,您需要使用security set-keychain-settings $KEYCHAIN

为了完整回答这个问题,我还建议您使用security import $CERT -k $KEYCHAIN -P "$CERTPASSWORD" -T /usr/bin/codesign授予/usr/bin/codesign访问证书的权限。