通过命令行修改私钥的每个应用程序访问控制?

jph*_*jph 8 security macos xcode command-line keychain

我在一个包含私钥的密钥链中有一个证书.我想将一个应用程序添加到该密钥的访问控制"白名单"中.我知道如何使用图形键链工具来做到这一点,但我想通过命令行作为Xcode构建脚本的一部分来完成.

从我所知道的"安全"命令是在命令行操作密钥链的方法,但我无法从手册页中弄清楚我将如何完成这项任务.

为了完整起见,这正是我在关键链工具中所做的,我想通过命令行做:

  1. 单击证书以显示其私钥.
  2. 右键单击私钥,然后选择"获取信息"菜单项.
  3. 单击"访问控制"选项卡.
  4. 单击"+"按钮将应用程序添加到白名单.
  5. 选择应用程序(在我的情况下为Xcode)并单击"添加".

我可能也对如何允许访问所有应用程序感兴趣.

Mit*_*ell 5

导入密钥,我认为没有办法security做到这一点.但是,如果您是第一次导入密钥,则可以使用以下标志:-T

 -T  Specify an application which may access the imported key 
     (multiple -T options are allowed)
Run Code Online (Sandbox Code Playgroud)

所以在我的情况下,我能够做到这一点:

security import my.key -P mypassword -T /usr/bin/pkgbuild
Run Code Online (Sandbox Code Playgroud)

一切正常!