代码设计抛出错误'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'的主要内容,如果未能解决你的问题,请参考以下文章

iframe 嵌入代码抛出 403 错误

20172323 2017-2018-2 《程序设计与数据结构》第九周学习总结

如何找出PHP代码块可能抛出的所有错误?

PHP将抛出一个错误问题,怎么解决

为啥抛出异常比返回错误代码更好?

PHP/TP5 接口设计中异常处理