2013-02-06 80 views
10

我正在使用Mac OS X Mountain Lion中的应用程序,该应用程序需要访问钥匙串访问中某些证书的私钥。由于这个程序是要在服务器上运行,我需要避免弹出对话框,要求用户允许该应用访问私钥:Mac代码签名:绕过终端的钥匙串访问私钥提示

Pop up dialog

我知道,通过点击“总是允许“该对话框不会再弹出该私钥,问题是我将使用不同的密钥。

在此先感谢,

Mikywan。

+0

对于El Capitan,您将需要http://stackoverflow.com/a/33650464/1285846 –

回答

11

我发现要解决这个问题的唯一方法是在钥匙串访问中设置“允许所有应用程序访问此项目”的私钥。

Private Key Properties: Access Control

您可以从终端当您导入证书到您的钥匙串配置此。

导入命令import inputfile [-k keychain] [-t type] [-f format] [-w] [-P passphrase] [options...]

要设置访问控制“允许所有应用程序访问此项目”,只需添加标志“-A”

您可以检查总是Apple's manual on security

希望这有助于。

+1

的答案您还可以指定单个应用程序允许使用密钥而不是所有应用程序,方法是使用'安全进口'。例如:安全导入my_input_file -T/usr/bin/codesign。您可以使用多个-T标志来指定多个程序。这些信息也可以在Apple的安全手册中找到,并在您的答案中链接。 – Mark

+2

在我刚设置的新的El Capitan服务器上;我只能通过使用命令行工具重新导入并添加-A选项来授予访问权限。 – Fiid