Xcode无法在您的钥匙串中find此configuration文件的有效私有证书/有效密钥对

可能重复:
Xcode – iPhone – configuration文件不匹配默认钥匙串中的任何有效证书/私钥对

我在安装其他开发人员创build的configuration文件时遇到问题。

  1. 开发证书已经存在
  2. 我正在使用的应用程序具有与证书关联的configuration文件
  3. 我的设备UUID已被添加
  4. 该应用的AppID已经存在
  5. 开发供应configuration文件存在,与我的UUID

当我下载证书和供应configuration文件时,我收到pipe理器中的错误:

Xcode could not find a valid private certificate/valid key-pair for this profile in your keychain 

我该如何解决?

您还需要请求证书时使用的私钥。

私钥用于签署使用该开发人员身份编译的每个设备二进制文件。 您下载和导入的证书基本上只是您的私钥上的一个印记,表示“使用此密钥签名的代码可以在设备上运行”。

让其他开发人员导出生成原始证书签名请求时使用的密钥,然后将其导入到您的计算机上。

查看钥匙链,看看密钥是否与证书正确配对:

当一切都正确到位时,您应该在证书上看到一个小小的揭示三angular形,让您看到密钥(反之亦然,您可以在密钥页面上看到证书)。 否则,这种关系是不正确的,在导入过程中钥匙链不能识别(在某些情况下,当导入更新的证书,而过期的证书仍在钥匙串中时,我已经看到了这种情况)。

我最近试图将iOS开发人员证书的公钥/私钥对移动到另一台机器上。 公用文件是使用钥匙串访问.pem和私人文件导出到受密码保护的.p12。

在另一台机器钥匙串访问不会导入它们。 解决scheme是一个很好的旧命令行:

 security import ios_priv.p12 -k ~/Library/Keychains/login.keychain security import ios_pub.pem -k ~/Library/Keychains/login.keychain 

因此,如果您在传输证书密钥时遇到问题,请尝试此操作。


编辑回复@ baudot下面的评论。 (这不适合评论)

确保您的钥匙串中还有Apple开发者关系根CA证书。 这是用来validation证书的。

你也可以select一个新的开始。 只需从钥匙串中删除密钥和证书,在ADC门户上撤消它们并删除其关联的供应configuration文件。

一旦删除了所有可以生成新的密钥对和关联的证书签名请求的内容。 然后确保将密钥导出并存储在未来的好地方。

然后,您转到ADC门户网站,上传新的证书签名请求,生成新的供应configuration文件,然后您就可以开始了。

唯一不可替代的是你的ADC帐户。 其余所有可以恢复或重新创build。

我还build议您使用Xcode内置的奇特的自动configuration。 这为您节省了下载和导入configuration文件的麻烦。 它只需将现有的ADC与ADC同步即可。

这发生在我身上,因为我将configuration文件放到了Xcode Organizer中设备的配给configuration文件部分,而没有放到库的configurationconfiguration文件部分。 一旦我把它放在那里,警告消失在设备部分。

希望这可以帮助任何人…

证书正常时,重新启动Xcode以帮助find它。

我有一个类似的问题。 一种解决scheme是从你的钥匙链中删除证书并请求一个新的证书。 苹果在这里有一个非常详细的演练:

技术说明

我的证书过期后,我遇到了这个问题,并确定密钥都是好的,在正确的地方。 我缺less的步骤是删除configuration门户中的configuration文件并重新创build它们。 不要相信“更新”链接 – 它看起来像这样一个诱人的捷径,但它不适合我!

因此,要重新开始,您不仅需要从钥匙串中删除密钥和证书,还需要擦除“供应”下“开发和分发”选项卡的内容。

我也有这个问题在10.6,Xcode 4.2。 在尝试了很多其他的东西之后,我终于退出了Xcode并重新启动了它。 然后错误信息就消失了。 得到的数字。

我只能通过使用Xcode – > Organizer – > Developer Profile来解决这个问题,然后点击右侧窗格底部的Export 。 这可以保存一个整合的.developerprofile文件,您只需在目标机器上打开/导入即可。

免责声明: 这可能不是什么海报最初打算实现。 然而,我还没有能够成功地在我的机器之间移动任何其他方式的私人+公共+证书。

您必须在iOSconfiguration门户中编辑configuration文件。 select“编辑”button,然后“修改”。 input所需的信息(你的名字,设备,应用ID)。

当系统显示configuration文件为“活动”时,请转到iOSconfiguration门户的“证书”部分,并检查您的开发证书。 它应该在“configuration文件”条目中列出您的configuration文件。

之后,您可以下载configuration文件并将其放入Xcode。

如果您的旧mac无法访问,但是您拥有ssh访问权限(例如在远离办公室的多维数据集中启动),则有一个解决scheme。 您只需使用命令行将钥匙串从旧机器复制到新机器即可:

 scp user@oldmac:Library/Keychains/login.keychain ~/Downloads/oldmac.keychain --or-- ssh oldmac; cp Library/Keychains/login.keychain ~/Dropbox/oldmac.keychain 

在新的Mac上,打开“钥匙串访问”。 转到文件 – >添加钥匙串,然后select下载/ oldmac.keychain

然后只需从oldmac钥匙串中将必要的公钥复制到默认的“login”钥匙串即可。

现在只是有这个问题。

只需点击底部工具栏上的“刷新”,XCode 4将为您下载并安装所有内容。