从MacOS Sierra开始,在没有usr/bin/CoDesign UI的情况下,我不能再使用/usr/bin/security将CoDesign标识导入到密钥链中-在使用该标识时提示访问.这会 destruct 构建服务器的打包脚本.似乎没有解决办法.这会影响自定义创建的密钥链,但也会影响login.keychain.
复制的步骤:
security create-keychain -p test buildagent.keychain
security unlock-keychain -p test buildagent.keychain
security list-keychains -d user -s buildagent.keychain
security default-keychain -s buildagent.keychain
security import identity.p12 -k buildagent.keychain -P password -T /usr/bin/codesign
codesign -vfs '$IDENTITY' '${PRODUCT}' --keychain 'buildagent.keychain'
结果:MacOS显示一个UI提示符,要求允许访问之前导入的私钥.
我try 了许多解决方法,但似乎都不起作用:
- 使用新的.指定密钥链名称时的密钥链数据库扩展
- 使用登录名. keys 链而不是定制的
- 使用-A(‘允许任何应用程序访问 导入的密钥‘)
- 单独导入证书和密钥(正在提取 使用OpenSSL pkcs12之前的p12)
导入身份肯定有效,在keychain Access应用程序中显示密钥链的内容时,我可以看到证书和密钥.私钥的访问控制设置也已正确配置(使用所需的协同设计例外规则).
如何避免来自Sierra的UI提示?