iphone - 客户向我发送了他的分发证书和私钥,以便我可以推送到应用商店,但它们不与自身关联

标签 iphone objective-c ios xcode certificate

整个早上我都在为这个问题烦恼,我们有一个客户拥有自己的分发凭证。我在他的配置门户中下载了与 appID 关联的 AppStore 配置文件,并从那里下载了他的分发证书。

由于我只有拥有有效的证书/私钥对才能签名,因此我要求他导出他的证书/私钥对,以便我可以将其导入到我的钥匙串(keychain)中。但是,当我导入生成的 p12 时,它并没有将自身与证书关联,而是继续创建一个新的自签名根证书以及与其关联的私钥。

很困惑,我尝试导出一个自己未使用的私钥,将其删除并导入,它正确地位于关联的证书(推送通知证书)下。于是我问他导出的私钥是否正确。他向我保证他做到了,甚至继续为我导出证书和 key 。

他给我颁发的证书是我在他的门户网站下载的,但是p12仍然没有与证书关联!我不知道我做错了什么......有人对此有线索/线索吗?

最佳答案

让他们按照此处的说明进行操作:
http://developer.apple.com/library/ios/#recipes/xcode_help-devices_organizer/articles/export_signing_assets.html

  • 在设备管理器的“团队”部分中选择您的团队。
  • 点击“导出”。
  • 指定文件名和密码,然后点击“保存”。

您自己,请按照此处的说明操作:
http://developer.apple.com/library/ios/#recipes/xcode_help-devices_organizer/articles/import_signing_assets.html#//apple_ref/doc/uid/TP40010392-CH9-SW1

  • 在设备管理器的“团队”部分中选择您的团队。
  • 点击“导入”。
  • 选择包含代码签名 Assets 的文件。
  • 输入文件的密码,然后单击“打开”。

无论如何,这就是理论。当您执行此操作时,iOS 导入文件时会出现错误。我自己也遇到过这个。显然它自 2009 年以来就被破坏了。解决方案是从命令行手动导入。您需要之前从客户端导出的 .p12 和 .pem 文件。

导出 .p12(私钥)和 .pem(公钥):

  • 打开钥匙串(keychain)访问
  • 选择“登录”钥匙串(keychain)(或适当的选项)
  • 选择底部的“按键”类别
  • 选择私钥“iOS Developer:此处名称”(或者如果是分发配置文件,则选择分发证书上显示的名称)
  • 右键单击并选择“导出”(这是您的 .p12 文件)
  • 选择公钥“iOS Developer:此处名称”(或者如果是分发配置文件,则选择分发证书上显示的名称)
  • 右键单击并选择“导出”(这是您的 .pem 文件)

然后您需要手动将它们导入到您的钥匙串(keychain)中:
http://www.arlt.eu/blog/2009/12/01/importing-iphone-keys-p12-and-pem-into-snow-leopards-keychain/

security import priv_key.p12 -k ~/Library/Keychains/login.keychain
security import pub_key.pem -k ~/Library/Keychains/login.keychain

完成后,您将拥有使用其分发证书(可以从开发人员中心下载)签署应用程序所需的一切

关于iphone - 客户向我发送了他的分发证书和私钥,以便我可以推送到应用商店,但它们不与自身关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567562/

相关文章:

objective-c - 是否可以将 cocoa 绑定(bind)与 NSTableView 和多对多关系一起使用

ios - 在 Swift 的 if 语句中重新分配一个值

iphone - Xcode 将文件框中的 gpx 文件变灰

iphone - 内存不足,有效字节只有 640Kb?

iphone - 在 UIWebview 上显示本地 UIImage

ios - 使用字典创建多个对象

iphone - 在 iphone SQLite (FMDB) 中加载 10k+ 行

ios - 我的 tableViewCells 没有创建?

ios - 为什么编译成静态库后找不到bridge文件?

iOS 应用程序在启动后立即关闭