代码设计抛出错误'errSecInternalComponent'
Posted
技术标签:
【中文标题】代码设计抛出错误\'errSecInternalComponent\'【英文标题】:codesign throws err 'errSecInternalComponent'代码设计抛出错误'errSecInternalComponent' 【发布时间】:2018-11-26 01:28:28 【问题描述】:我在运行 codesign 命令时收到errSecInternalComponent
。
如果我转到钥匙串并将证书更改为always trust
并再次运行codesign
命令,我会得到Warning: unable to build chain to self-signed root for signer "Developer ID Application: xxxxxx (xxxxxx)"./workspace/Myapp.app: errSecInternalComponent
第一次发生这种情况是我从另一个 MacOS 导出开发者证书并导入它时。然后我尝试删除钥匙串,重新创建它,安装苹果根证书,但仍然得到同样的错误。
最后,我生成了一个新的开发者证书并将其添加到钥匙串中,但仍然无法正常工作。
我不确定这个 MAC 有什么不同。它现在正在运行 Majave。当问题第一次发生时,它正在运行 High sierra。
【问题讨论】:
【参考方案1】:有两个问题:
我的钥匙串中有重复的身份,与此相同 Duplicate identity after importing single certificate in OSX 10.10.3
私钥的访问权限需要允许codesign或allow all。
【讨论】:
【参考方案2】:此错误可能有多种原因。两个常见问题是:
codesign
工具 does not have access
到钥匙串项目。要么明确授予对 codesign 的访问权限,要么允许所有应用程序访问它。
解锁钥匙串:security unlock-keychain <Full path to keychain>
可以使用 security list-keychains
获取完整路径【讨论】:
【参考方案3】:不是完全相同的问题,但我们在构建 jenkins 期间遇到了 errSecInternalComponent。增加再次关闭钥匙串的超时时间。
【讨论】:
以上是关于代码设计抛出错误'errSecInternalComponent'的主要内容,如果未能解决你的问题,请参考以下文章