如何将私钥添加到分发证书?

时间:2013-05-15 11:04:18

标签: ios xcode keychain signing

好吧,我的开发者证书与它的私钥相关联。工作得很好。

我已经下载了我的iOS配置文件,但它说没有找到有效的签名身份。

所以我检查了我的证书,确切地说,我的开发人员证书是与其私钥相关联的,而不是我的分发证书。如何将我的私钥链接/添加到此证书!?

这会解决“找不到有效签名身份”的问题吗?

9 个答案:

答案 0 :(得分:81)

是的,您获得的错误意味着您的Mac上没有与您尝试用于对应用签名的分发证书相关联的私钥。

根据请求分发证书的计算机是否可用,有两种可能的解决方案。

如果请求分发证书的计算机可用(或者某处有分发资产的备份)

  1. 从生成分发资产的计算机上,打开Xcode。
  2. 点击Window,Organizer。
  3. 展开“小组”部分。
  4. 选择您的团队,选择“iOS发布”类型的证书,单击“导出”并按照说明进行操作。
  5. 保存导出的文件并转到您的计算机。
  6. 重复步骤1-3。
  7. 单击“导入”并选择之前导出的文件。
  8. 如果创建分发配置文件的计算机不再可访问(并且没有备份)

    您必须撤销证书并创建一个新证书。

    您可能需要请求您的团队管理员或代理人为您提供一些权限才能生成分发证书。获得足够的权限后,请按照以下步骤操作(截至2013年5月15日准确):

    1. 转到此网页:https://developer.apple.com/devcenter/ios/index.action
    2. 点击“会员中心”,然后输入您的iOS开发者凭据。
    3. 点击“证书,标识符和个人资料”。
    4. 点击“iOS应用”部分下的“证书”。
    5. 展开左侧的“证书”部分,选择“分发”,然后单击您的分发证书。
    6. 点击撤销并按照说明操作。
    7. 点击加号以添加新证书。
    8. 选择“App Store and Ad Hoc”选项,然后单击“继续”。
    9. 按照网页上打印的步骤操作。这涉及在Mac上打开Keychain应用程序并从那里生成证书签名请求。点击继续。
    10. 上传.csr文件,然后点击继续。
    11. 生成证书以供分发。下载并双击它以将其集成到您的钥匙串中。
    12. 重新打开Xcode并检查您的项目配置,看看您现在是否可以选择“iPhone发行版”证书(即它没有变灰)。

答案 1 :(得分:40)

由于现有的答案已经写好,Xcode的界面已经更新,并且它们不再正确(特别是点击窗口,管理器//扩展团队部分步骤)。现在,导入现有证书的说明如下:

  

导出所选证书

     
      
  1. 选择Xcode>偏好。
  2.   
  3. 点击窗口顶部的帐户。
  4.   
  5. 选择要查看的小组,然后单击“查看详细信息”。
  6.   
  7. 按住Control键并单击要在“签名标识”表中导出的证书,然后从弹出菜单中选择“导出”。
  8.         

    Export certificate demo

         
        
    1. 在“另存为”字段中输入文件名,在“密码”和“验证”字段中输入密码。该文件已加密并受密码保护。
    2.   
    3. 单击“保存”。该文件将保存到您使用.p12扩展名指定的位置。
    4.   

Source (Apple's documentation)

要导入它,我发现Xcode的let-me-help-you菜单无法识别.p12文件。相反,我只需将其手动导入Keychain,然后在不抱怨的情况下构建和存档Xcode。

答案 2 :(得分:20)

使用Xcode 9,界面已经更新,现在我解决问题的方法是:

  1. 选择 Xcode>偏好设置即可。
  2. 点击窗口顶部的帐户
  3. 选择您要查看的团队
  4. 点击左下方的齿轮图标()。
  5. enter image description here

    1. 导出Apple ID和代码签名资产
    2. 在“另存为”字段中输入文件名并在“密码”和“验证”字段中输入密码后,您将看到这样的窗口
    3. enter image description here

      1. 点击齿轮图标() - >点击导入 - >选择您在步骤6中导出的文件

答案 3 :(得分:3)

此网站逐步说明您需要执行的操作Certificates, Identifiers & Profiles以及您的问题

"Valid Signing identity not found"?

您需要用于使用配置文件签署代码库的私钥。 。如果您还没有,则可以在iOS开发人员门户上生成新的签名请求。

For Export:

Xcode - >组织者,选择你的团队。 单击导出。 指定文件名和密码,然后单击“保存”。

For Import:

Xcode - >组织者,选择你的团队。 单击导入。 选择包含代码签名资产的文件。 输入文件的密码,然后单击“打开”。

答案 4 :(得分:0)

对于开发人员证书,您需要创建开发人员.mobileprovision配置文件并安装将其添加到您的XCode。如果您想使用adhoc分发配置文件分发应用程序,则需要在钥匙串中安装AdHoc Distribution证书和私钥。

如果您尚未创建证书,则此处为steps to create。如果它已由您团队中的某个人创建,请他分享证书和私钥。如果某人不在你的团队中,那么你可以从开发者帐户撤销证书并创建新的。

答案 5 :(得分:0)

"未找到有效的签名身份"这是因为您没有分发证书的私钥。

如果分发证书最初是在其他Mac上创建的,则可能需要从该Mac导入此私钥。无法从配置门户下载此私钥。

当您将正确的私钥导入您的Mac时,XCode的管理器会将您已下载的分发配置文件识别为"有效的个​​人资料"

但是,如果您无法访问创建这些配置文件的原始Mac,则唯一的选择是撤消配置文件。

答案 6 :(得分:0)

因为xcode5组织者不再存在团队部分。 但大胆的句子是我的答案。 上帝,谢谢有另一台Mac可以恢复并导入到有问题的mac。 现在一切都好。

答案 7 :(得分:0)

我所做的是,我创建了一个新的证书,用于分发我的Mac电脑,并从这台Mac电脑上给出了签名身份,就是这样吧

答案 8 :(得分:0)

您需要做的是创建一个证书类型 (iOS Distributionfrom) 来自以下链接

https://developer.apple.com/account/resources/certificates

完成后,将其下载到您计算机上的钥匙串中。

第 2 步:转到下面的链接并创建个人资料

https://developer.apple.com/account/resources/profiles/list

在创建配置文件时,请确保为您的应用选择相同的包 ID。

然后下载您刚刚创建的配置文件

第 3 步:将您的应用推送到应用商店时,请确保选择手动签名。 然后选择您下载的配置文件并将其导入并选择您创建的证书

这是为我做的