Xcode无法在您的钥匙串中找到此个人资料的有效私人证书/有效密钥对

She*_*lam 54 iphone xcode cocoa-touch objective-c provisioning

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

我在安装由其他开发人员创建的配置文件时遇到问题.

  1. 开发证书已经存在
  2. 我正在开发的应用程序有一个与证书关联的配置文件
  3. 我的设备UUID已添加
  4. 该应用的AppID已存在
  5. 我的UUID存在开发配置文件

当我下载证书和配置文件时,我在管理器中收到错误:

Xcode could not find a valid private certificate/valid key-pair for this profile in your keychain
Run Code Online (Sandbox Code Playgroud)

我怎么解决?

Hei*_*erg 64

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

私钥用于对使用该开发者标识编译的每个设备二进制文件进行签名.您下载和导入的证书基本上只是您私钥上的一个标记,表示"允许在设备上运行使用此密钥签名的代码".

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

在Keychain中查看密钥是否与证书一起正确配对:

当一切正确到位后,您应该在证书上看到一个小的披露三角形,让您可以看到密钥(反之亦然,在密钥页面上您应该看到密钥下的证书).否则关系不正确,导入过程中Keychain无法识别(在某些情况下导入续订证书时,我已经看到了这种情况,而过期的证书仍在钥匙串中).

我最近试图将iOS开发人员证书的公钥/私钥对移动到另一台机器上.公共文件使用Keychain Access导出到.pem,私有文件导出到受密码保护的.p12.

在另一台机器上,Keychain Access不会导入它们.解决方案是很好的旧命令行:

security import ios_priv.p12 -k ~/Library/Keychains/login.keychain 
security import ios_pub.pem -k ~/Library/Keychains/login.keychain
Run Code Online (Sandbox Code Playgroud)

如果您在转移证书密钥时遇到问题,请尝试此操作.


编辑回复@ baudot的评论如下.(它不适合评论)

确保您的钥匙串中还有Apple Developer Relations根CA证书.这是用于验证证书的内容.

您也可以选择重新开始.只需从钥匙串中删除密钥和证书,在ADC门户上撤消它们并删除相关的配置文件.

删除所有内容后,您可以生成新的密钥对和关联的证书签名请求.然后确保导出密钥并将它们存放在适合将来的好地方.

然后,您转到ADC门户,上传新的证书签名请求,生成新的配置文件,您就可以开始使用了.

唯一不可替代的是你的ADC账户.所有其余的都可以恢复或重建.

我还建议您使用Xcode内置的花哨的新自动配置.这样可以省去下载和导入配置文件的麻烦.它只是将您现有的同步与ADC同步.

  • 上面的关键是"生成新的配置文件".我发现"续订"不起作用. (2认同)

小智 22

这件事发生在我身上,因为我将配置文件放到了Xcode Organizer中设备的Provisioning Profiles部分,但没有放到Library的Provisioning Profiles部分.一旦我把它放在那里,警告就会在设备部分消失.

希望这可以帮助任何人......


Mat*_*ell 5

证书正常时,重新启动Xcode以帮助它找到它.