使用用户_www或守护程序设置macOS钥匙串搜索列表

时间:2018-10-20 10:40:49

标签: ios macos security keychain codesign

我们在macOS上将codesign命令用于CI系统:

codesign -v -f -s "identity" "file" --keychain "keychain_path"

钥匙串是即时创建的,其中包含私钥和证书。

这曾经很好用,但是从 macOS Sierra(10.12)开始,codesign在查找证书时不再在其 keychain搜索列表中包含自定义钥匙串。 (尽管可以访问私钥)。

手动将钥匙串添加到搜索列表有帮助(至少作为普通用户):

security list-keychains -s "previous_keychain_path" "custom_keychain_path"

(其中先前的搜索列表是使用“安全列表-钥匙串”首先获取的)

但是当以 _www daemon 用户身份运行 apache / httpd 时,此命令将被忽略。

  • _www 临时修改钥匙串搜索列表需要什么样的权限?
  • 是否有像Sierra之前那样使 codesign 支持-keychain 选项的另一种方法?

1 个答案:

答案 0 :(得分:0)

我想您的CI系统是由LaunchDaemon启动的。

您必须添加

<key>SessionCreate</key>
<true/> 

到LaunchDaemon .plist文件。

此修改允许CI系统修改钥匙串搜索列表。