无法解锁钥匙串。

6

构建一个新的Jenkins用于iOS应用程序的CI故事。我在KeyChainAccess中创建了一个名为build的钥匙串来保存开发证书。

我为钥匙串设置了密码。在Jenkins上,管理Jenkins-->密钥串和预配配置文件管理-->选择build.keychain文件并上传。

我填写了密码(与我之前设置的相同)。我填写了证书(通过复制KeyChain访问中证书信息的通用名称)。

我使用密钥串和代码签名身份创建了一个Jenkins作业,并填写了密码。但是当我通过Jenkins构建项目时,它在控制台输出中抛出以下错误:

[ProjectName] $ /usr/bin/security unlock-keychain -p ********    /Users/Shared/Jenkins/Home/jobs/JobName/workspace/build.keychain
security: SecKeychainUnlock /Users/Shared/Jenkins/Home/jobs/JobName/workspace/build.keychain: The user name or passphrase you entered is not correct.

FATAL: Unable to unlock the keychain.

我检查了密码,可以使用该密码在KeyChain Access中解锁构建钥匙串。我不确定它要求什么用户名,是Jenkins吗?

4个回答

3

虽然你提出这个问题已经有一段时间了,但我认为回答它仍然是值得的!

输出错误 您输入的用户名或密码不正确。 可能由多种原因引起,但常见错误之一是密钥链路径错误。

要解决此问题,首先需要确保您的密钥链已创建并获取其正确路径。在控制台中运行以下命令:

security list-keychains

输出应返回您拥有的所有钥匙串,类似于以下内容:
    "/Users/jenkins/Library/Keychains/login.keychain-db"
    "/Library/Keychains/System.keychain"

如果您的“build”钥匙串不在那里,可能是在创建期间出了问题,您需要重新创建它。如果您的钥匙串位于上述列表中,则需要复制钥匙串所在的路径。
如果由于某种原因,您的钥匙串名称在该列表中重复,请确保运行以下命令删除重复的钥匙串:
security list-keychains -s pathOfTheKeychainDuplicated

然后,使用具有访问此钥匙串的用户的路径和密码,您可以使用以下命令解锁它:

security unlock-keychain -p ****** /Users/jenkins/Library/Keychains/login.keychain-db

在上述命令中,路径应该是您的build钥匙串之一。
希望这可以帮助您。

-1

在我的Mac上,解锁钥匙串命令出现了类似的问题。

  • 我刚刚退出终端(所有标签页)
  • 退出钥匙串
  • 重新打开钥匙串 -> 手动解锁和锁定几次钥匙串。
  • 然后执行该命令,它奇迹般地起作用了!

还有一个提示,在将macOS从Sierra升级到High Sierra之后遇到了此问题。


-1

我在升级到Mojave后,从Jenkins运行unlock-keychain时遇到了类似的问题。

这是由于默认钥匙串设置不正确导致的。

我使用security default-keychain -s <name>将默认钥匙串更改回Jenkins用户的登录钥匙串。


-1

[感谢Yuriy Vinogradov提供原始来源的答案]

如果您在IntelliJ产品(例如:IDEADataGrip...)中遇到“无法解锁钥匙串”错误,可能与数据库有关,那么可选的IntelliJ KeePass配置可能是在这种情况下的解决方案。

例如(在IDEA 2023.1.1中):首选项 -> 外观和行为 -> 系统设置 -> 密码 -> 在KeePass中

*注意-KeePass选项详细说明:

使用弱加密存储。建议将其存储在加密卷上以获得额外的安全性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接