在钥匙串上丢失分发证书中的私钥

时间:2012-10-12 22:18:50

标签: iphone ios xcode

我有以下问题,我无法在任何地方找到解决方案。基本上,我们有一个公司开发人员帐户(不是企业),所以为了提交我们的应用程序,我要求我们的团队负责人向我发送分发证书并创建并向我发送分发配置文件。

使用开发人员配置文件,一切正常,但是当我安装证书和配置文件时,我没有在Xcode上看到分发配置文件,也没有在密钥链中的dist证书下有私钥。 / p>

有谁知道如何解决这个问题?我在不同的地方读到我需要撤销证书并创建一个新证书,但我不能真的这样做,因为我们在公司里有一堆应用程序,我不能为所有人撤销它。

感谢您的帮助!!!

18 个答案:

答案 0 :(得分:122)

enter image description here这是一个常见问题,解决方案很简单:

创建开发人员凭据的人最初需要转到计算机上的钥匙串,然后右键单击私钥和公钥的密钥,并将密钥导出到文件中。 然后,您只需在计算机上下载该文件并将其打开,它就会被添加到您的钥匙串中。

您需要拥有私钥(.pem文件)和配置文件的证书。

答案 1 :(得分:54)

只要您仍然可以访问用于生成原始分发证书的mac,它就非常简单。

只需使用该mac的Keychain Access应用程序即可导出证书和私钥。使用shift或命令选择并右键单击以导出到.p12文件。

附上截图以明确说明。

在你的Mac上,导入.p12文件,你就可以了(只需确保你有一个有效的配置文件)。

Just choose export

答案 2 :(得分:47)

要添加其他人的答案,如果您无法再访问该私钥,则可以非常简单地重新启动并运行:

  
      
  1. 撤销配置门户中的活动证书
  2.   
  3. 创建新的开发者证书(钥匙串访问/.../请求csr ...等)
  4.   
  5. 下载并安装新证书
  6.   
  7. 为现有应用ID创建新的配置文件(在配置门户上)
  8.   
  9. 下载并安装新的配置文件,并在构建中设置相应的代码签名标识
  10.   

答案 3 :(得分:9)

从KeyChain中删除现有文件,获取并将.p12文件添加到创建证书的mac中。

要从源Mac获取.p12,请转到KeyChain,展开证书,选择两者并导出2个项目。这将在您的位置保存.p12文件:

enter image description here

答案 4 :(得分:5)

在我的情况下,我已经丢失了钥匙串中的所有私钥,新的正确导入,但也没有显示私钥。唯一有帮助的是生成新的CertificateSigningRequest

答案 5 :(得分:5)

更改了不是创建分销证书的原始Mac的Mac后,您将丢失私钥。只需删除原始证书并重新创建一个适用于我的新证书〜

答案 6 :(得分:5)

当我尝试上传iOS版本以测试飞行时,出现了错误。

"Missing privacy key"

enter image description here

只需2个步骤即可解决此错误。

  1. 从developer.apple.com删除旧证书
  2. 从Xcode或developer.apple.com创建新证书

我的问题已解决(我正在使用Xcode 9.4.1)。

请检查,Xcode创建了新证书。

enter image description here

答案 7 :(得分:3)

我花费了数小时来解决此问题,但是通过重新启动MAC即可解决此问题。

答案 8 :(得分:2)

对于那些害怕重新创建AppStore发行证书的人,苹果documentation说:

  

重要提示:重新创建您的开发或发行证书   不会影响您已提交到App Store的应用程序,也不会影响   影响您更新它们的能力。

但这会影响应用Apple Developer Enterprise生态系统。

答案 9 :(得分:2)

在菜单> Visual Studio(mac)>首选项>发布> Apple开发者帐户> [选择您的Apple ID]>查看详细信息>创建证书

要删除未使用/无效的证书,请访问网站:https://developer.apple.com/account/resources/certificates/list

在那里删除所有不需要的证书

下一步是创建App ID(标识符),请访问网站:
https://developer.apple.com/account/resources/identifiers/list

接下来,转到网站以创建配置文件:
https://developer.apple.com/account/resources/profiles/add

使用证书绑定您的应用ID。

下一步是下载配置文件:
在Mac上>在菜单> Visual Studio(mac)>首选项>发布> Apple开发者帐户> [选择您的Apple ID]>查看详细信息>下载所有配置文件

答案 10 :(得分:1)

我是密钥的创建者,但是密钥已附加到已过期的证书上。

要解决此问题,我去了-> Xcode / Preferences / Accounts /“您用于存档的帐户” /“管理证书”。

然后单击左下角带有“ +”号的下拉菜单,然后选择需要更新的证书类型(我的名称是Apple Distribution)。

这更新了新证书并附加了密钥。

答案 11 :(得分:0)

我的问题是,无论出于何种原因,钥匙串访问中都缺少登录钥匙串。 Xcode 创建了一个新证书并将其添加到登录钥匙串中,但无法使用它。重新启动计算机解决了我的问题。

enter image description here

答案 12 :(得分:0)

联系 iOS 分发密钥的创建者并告知导出证书和私钥,然后只需下载并双击它即可在您的钥匙串中访问。

enter image description here

答案 13 :(得分:0)

只是对此有所了解。

从钥匙串删除我的p12证书后。我从Apple开发人员门户网站重新下载了自己的证书。

我只能下载证书。但是要签名,您还需要私钥。所以你要么:

  • 从钥匙串中导出私钥和证书以进行获取。

  • 上传证书签名请求并生成新证书

该证书本身没有任何用于签名的价值。我的猜测是,私钥是在您“向证书颁发机构请求证书”时通过钥匙串创建的,但是直到您添加其绑定证书时才会显示给您。

答案 14 :(得分:0)

在Xcode无法创建新的分发证书后发生了这种情况(“缺少私钥。”)-发生未知错误。

然后,我努力获取私钥或生成新证书。从Xcode的证书管理器中,我收到奇怪的错误,例如“您输入的密码错误”。但这甚至没有问我任何密码。

帮助我的是:

  1. 在developer.apple.com上撤销所有无效的分发证书
  2. 重新启动我的Mac

之后,Xcode能够创建新的分发证书,并且没有私钥丢失。

经验教训:与Windows一样重新启动Mac;)

答案 15 :(得分:0)

我在Apple的开发人员网站上访问了该证书,下载后我将其打开。同样,在打开时,我有一个小窗口,询问是否要将证书添加到钥匙串中。只需点击“添加”,“丢失私钥”错误就消失了。

答案 16 :(得分:0)

检查您是否正在使用“登录”来添加证书,如果您在左上角的“系统”中进行检查,那么我们将无法看到它。

因此,将.cer拖放到登录名中,然后检查您是否可以获取私钥。

答案 17 :(得分:-5)

我可以通过更新 macOS 和 XCode 来解决这个问题。