尝试在XCode中构建iOS项目时,我需要导入同事的公钥和私钥以进行代码签名身份验证,但由于在Keychain Access中出现错误,“发生错误。无法导入项目。/无法检索此项内容的内容”,因此我无法这样做。
详细信息:
我从同事的计算机上获得了两个密钥,并将它们导出为两个文件:
Roomer Inc.p12(私钥)
Roomer Inc.pem(公钥)
当他导出这些文件时,他将密码留空(尽管我们还尝试使用“test”作为密码,但结果相同)。
当我双击 Roomer Inc.p12(用于私钥),它会在 Keychain Access 中打开并提示我选择密钥链(默认选中“登录”)。
我单击“添加”,然后提示我输入密钥链的密码(我将其留空)。
接下来,我总是在 Keychain access 中看到此消息:
但是,尽管会出现此消息,但当我单击“确定”时,我会看到一个名为“Roomer Inc”的新私钥条目。请注意,该条目是“登录”密钥链中的私钥,但没有到期日期(应该吗?)。
接下来,对于Roomer Inc.pem文件(公钥),我被要求选择密钥链(“login”),然后我单击“添加”。
然后,我也收到了“发生错误。无法导入项目。/无法检索此项内容的内容”消息,但这次(与私钥不同),我没有看到与我刚添加的相应的条目。
详细信息:
我从同事的计算机上获得了两个密钥,并将它们导出为两个文件:
Roomer Inc.p12(私钥)
Roomer Inc.pem(公钥)
当他导出这些文件时,他将密码留空(尽管我们还尝试使用“test”作为密码,但结果相同)。
当我双击 Roomer Inc.p12(用于私钥),它会在 Keychain Access 中打开并提示我选择密钥链(默认选中“登录”)。
我单击“添加”,然后提示我输入密钥链的密码(我将其留空)。
接下来,我总是在 Keychain access 中看到此消息:
但是,尽管会出现此消息,但当我单击“确定”时,我会看到一个名为“Roomer Inc”的新私钥条目。请注意,该条目是“登录”密钥链中的私钥,但没有到期日期(应该吗?)。
接下来,对于Roomer Inc.pem文件(公钥),我被要求选择密钥链(“login”),然后我单击“添加”。
然后,我也收到了“发生错误。无法导入项目。/无法检索此项内容的内容”消息,但这次(与私钥不同),我没有看到与我刚添加的相应的条目。
所以,似乎私钥条目可能没有问题(我无法验证),而 Roomer 的公钥条目无法在没有出现错误消息的情况下安装到钥匙串中。请注意,我也尝试使用 security import 命令导入公钥:
$ security import Roomer\ Inc.pem -f pkcs12 ~/Library/Keychains/login.keychain
已导入 1 个密钥。
当我执行此操作时,虽然命令返回“已导入 1 个密钥”,但我在我的“钥匙串访问”窗口中没有看到“Roomer Inc”的公钥(我关闭了“钥匙串访问”并重新打开它)。
无论如何,我们已确定这是我们的阻碍点。(当然,症状是 XCode 项目无法构建用于 TestFlight 的 AdHoc 配置文件)。由于以上解释,我省略了有关 XCode 构建和 TestFlight 设置的其他步骤,因为我们认为核心问题与导入钥匙有关。