ios - 使用用户 _www 或守护程序设置 macOS 钥匙串(keychain)搜索列表

标签 ios macos security keychain codesign

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

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

钥匙串(keychain)是动态创建的,包含私钥和证书。

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

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

安全列表钥匙串(keychain) -s "previous_keychain_path""custom_keychain_path"

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

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

  • _www需要什么权限才能临时修改钥匙串(keychain)搜索列表?
  • 是否有其他方法可以让 codesign 支持 --keychain 选项,就像 Sierra 之前那样?

最佳答案

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

您必须添加

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

到 LaunchDaemon .plist 文件。

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

关于ios - 使用用户 _www 或守护程序设置 macOS 钥匙串(keychain)搜索列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52904778/

相关文章:

android - react native : set different variable in iOS/Android builds

android - 更新到 v0.5.1 后不存在 Flutter 导入

macos - 32 位应用程序如何在 64 位 Mac 上运行?

c++ - 如何使用 stdlibc++ 为 OS X 64b 平台编译 boost?

security - 安全的方法来重置密码或提供旧密码

security - GCP 库伯内斯 : Ingress and external load balancer with IAP lots of open ports scanning nmap

ios - 在 Xcode 6.1 中使用 Swift 找不到 UICollectionView 函数?

ios - 在 UITableView 滚动时更新 MKMapView,从单元格获取坐标

macos - 检测 CGAsociateMouseAndMouseCursorPosition

security - 将私钥粘贴到 Jenkins 门户网站是否安全?