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



我们在 macOS 上对 CI 系统使用 codesign 命令:

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

密钥链是动态创建的,包含私钥和证书。

这曾经工作得很好,但从macOS Sierra (10.12(开始,codesign 在查找证书时不再将自定义钥匙串包含在其钥匙串搜索列表中(尽管访问私钥有效(。

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

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

(其中以前的搜索列表首先使用"安全列表钥匙串"获取(

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

  • _www临时修改钥匙串搜索列表需要什么样的权限?
  • 有没有另一种方法可以让协同设计支持--keychain选项,就像在Sierra之前一样?

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

你必须添加

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

到 LaunchDaemon.plist 文件。

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

相关内容

  • 没有找到相关文章

最新更新