我有一个包含私钥的密钥链中的证书。我想将一个应用程序添加到该密钥的访问控制“白名单”中。我知道如何使用图形密钥链工具来完成这个任务,但是我想通过命令行作为Xcode构建脚本的一部分来完成。
据我所知,“安全性”命令是在命令行操作密钥链的方法,但我无法从手册页中了解如何完成此任务。
为了完整起见,下面是我想通过命令行在关键链工具中所做的工作:
我也可能对如何允许访问所有应用程序感兴趣。
发布于 2012-12-01 21:14:15
在导入密钥之后,我不认为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一切都成功了!
发布于 2016-02-24 11:57:40
免责声明
老实说这可能不是发布这个的最好地方..。但我偶然发现这个(和其他几个)条目或多或少都有相同的问题。另见https://stackoverflow.com/a/34388302/359100。但是,由于我找到了一种解决方案,可以帮助试图通过远程会话更改密钥链中私钥访问控制的其他人,所以我的解决方案可以帮助.
B/c为我通过CLI导入不起作用(使用-T或-A)。我总是收到关于从密钥链访问的流行消息。
顺便说一句:如果你知道一个更好的答案,那么回答这个应该在哪里.请让我知道或者把它搬到那里..。
溶液
在本地机器上创建密钥链。例如,把它命名为苹果开发公司。添加您的私钥并分配必要的访问控制(最好:“允许所有.”)。现在将密钥链复制到远程Mac中,并通过keychain应用程序(File / add Keychain .)将其添加到那里。对于CI来说,你可能会做这样的事情:
security unlock-keychain -p YOUR-KEYCHAIN-PASSWORD "${HOME}/apple-development.keychain"https://stackoverflow.com/questions/11472795
复制相似问题