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