java - macOS 代码设计错误:errSecInternalComponent
问题描述
我在 Jenkins 中对我的代码进行代码设计时遇到了一些问题。我过去使用的配置从未给我带来任何痛苦,但我昨天添加了 3 个新的 macOS 执行器,但它们都没有工作。
我得到的实际错误是 OpenJDK 配置脚本的一部分:
configure:54803: checking for codesign
configure:55031: result: /usr/bin/codesign
configure:55436: checking if codesign certificate is present
codesign-testfile: errSecInternalComponent
configure:55444: result: no
在运行此之前,我已经解锁了钥匙串并验证了钥匙串是否包含证书。
我能够通过 SSH 连接到机器并运行这个简单的脚本,它基本上与 jenkins 做同样的事情:
security unlock-keychain -p <password> login.keychain-db
rm -rf /Users/jenkins/test && touch /Users/jenkins/test
codesign --sign "Developer ID Application: <name>" /Users/jenkins/test
从一些研究中,我看到的唯一另一件事是正确设置我已经完成的密钥分区列表:
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k <password> /Users/jenkins/Library/Keychains/login.keychain-db
在这里的任何帮助将不胜感激!我觉得我已经尝试了所有建议的修复方法,所以我的想法已经不多了。
解决方案
经过大量的抨击后,我终于发现钥匙串(通过 cli 创建时)有 5 分钟的超时时间,这解释了为什么它们在配置阶段失败。修复是运行以下命令:
security set-keychain-settings login.keychain-db
推荐阅读
- c# - C# - 如果参数从接口继承,则将字段值添加到控制器参数的中间件
- wordpress - 在 WooCommrece 注册页面上添加时事通讯订阅复选框表单
- c# - ItemVisibilityEventArgs 事件不适用于 iOS
- mysql - Drupal docker 镜像无法连接到 MySQL 数据库
- ios - 我无法在 Swift 中删除我的最后一个表格视图单元格
- selenium - 使用 selenium 对特定站点的超时进行故障排除
- sql-server - 将变量从“列表”传递到 .bat 文件中的 sqlcmd
- sql-server - 使用颜色表查找具有所有颜色代码的人
- php - Laravel 搜索重复返回数据
- android - 按钮文本在本机反应中未垂直居中对齐