我在包含私钥的密钥链中有一个证书。我想将一个应用程序添加到该密钥的访问控制“白名单”中。我知道如何使用图形密钥链工具完成此操作,但我想通过命令行将其作为Xcode构建脚本的一部分来完成。
据我所知,“security”命令是在命令行操作键链的方法,但我无法从手册页中弄清楚我将如何完成此任务。
为了完整性,这正是我在关键链工具中所做的,我想通过命令行来做:
我可能也对如何允许访问所有应用程序感兴趣。
答案 0 :(得分:5)
在导入密钥之后,我认为security
没有办法执行此操作。但是,如果您是第一次导入密钥,则可以使用-T
标志:
-T Specify an application which may access the imported key
(multiple -T options are allowed)
所以在我的情况下,我能够做到这一点:
security import my.key -P mypassword -T /usr/bin/pkgbuild
一切正常!
答案 1 :(得分:2)
<强>声明强>
我很诚实,这可能不是发布此内容的最佳位置......但我偶然发现了这个(和其他几个)条目或多或少相同的问题。另见https://stackoverflow.com/a/34388302/359100。但是,由于我找到了一个解决方案,可以帮助其他人尝试通过远程会话更改Keychain中私钥的访问控制,我的解决方案可以帮助......
我通过CLI 导入的B / c没有工作(使用-T
或-A
)。关于Keychain的访问,我总是很流行。
<强>解决方案强>
在本地计算机上创建钥匙串。例如。将它命名为apple-development [.keychain]。在那里添加您的私钥并分配必要的访问控制(最好:“全部允许...”)。现在将该钥匙串复制到您的远程Mac并通过Keychain应用程序(File / Add Keychain ...)将其添加到那里。对于CI,您可能会这样做:
security unlock-keychain -p YOUR-KEYCHAIN-PASSWORD "${HOME}/apple-development.keychain"