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

Reg*_*00x 3 macos code-signing keychain codesign

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

Ste*_*uan 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对证书的访问权限.