iPhone应用程序签名:在您的钥匙链中找不到与此配置文件匹配的有效签名身份

这事让我非常担心。我刚刚下载了iPhone 3.0 SDK,但现在我不能让我的配置文件工作。以下是我的尝试:

  • 删除所有配置配置文件
  • 删除登录keychain
  • 创建新的“login”keychain,使它 李默认< / >
  • 创建一个新的证书签名请求
  • 创建新的开发人员和分发 证书在Apple开发中心
  • 下载并安装它们
  • 下载并安装WWDR证书
  • 创建一个新的配置文件和 双击它来安装

所有的证书报告都是有效的,但是Xcode仍然不会识别它们。接下来我该试试什么?

编辑:

我完全重新安装了Mac OS X,从一个新的安装安装了3.0 SDK,仍然有同样的问题。

396389 次浏览

你试过重启你的Mac和设备吗?蹩脚的回答,但我总是先试一下。

昨天也遇到了同样的问题。现在,在签署到开发人员门户之后,对于每个无效的配置概要都有一个按钮“Renew”。更新和下载更新后的配置文件似乎都能正常工作,所以问题肯定解决了:)

更新:你可能需要联系苹果来获得一个“更新”按钮,或者他们删除了它——解决方案是下载它并添加到钥匙链,不需要更新。

“这是苹果门户网站的一个漏洞。他们在配置配置文件中缺少一个必要的字段。他们在2009年6月16日晚些时候修复了这个错误。”

我也遇到了同样的问题,试过了所有方法。不管出于什么原因,解决方案是我所有的证书都迁移到一个名为“microsoft_intermediate_certificates”的密钥链上。因为它可能发生在Xcode升级期间,我完全不知道为什么,但它可能会帮助到一些人。

我将微软钥匙串的所有内容移动到登录钥匙串,一切恢复正常。

在遇到最初发布的相同问题后,我终于在4次不同的尝试后让它工作了。所以这就是发生的事情,我不确定这是否是一个老问题(2009-07-09),但我还是会发布,以防它对你有帮助。对我有用的是……也许对你有用…

  1. 重新开始,删除密钥链中旧的私钥、公钥和证书
  2. 完成整个过程,从证书颁发机构请求证书,获得一个新的公钥、一个新的私钥和一个新的证书。注意:当它工作时,我只有一个私钥、一个公钥和一个证书
  3. 创建一个新的配置文件(使用刚才创建的证书),并将其放在Xcode的管理器窗口中。删除所有旧的废话。
  4. 运行它。

希望这能有所帮助。

我得到的最佳答案是导出您的密钥,而不是仅仅试图导入证书文件。

当您从生成请求的密钥链中导出密钥时,您将得到一个Certificates。P12文件,将需要的键滚动在一起。

然后将其导入新计算机。

对于这样的密钥,最好保留一个滚动的证书包文件,因为很多时候“公共”密钥或证书文件不足以进行恢复。

我发现我需要拖动distribution_identity。我从开发人员程序门户网站上的“Certificates -> Distribution”页面下载的cer文件到密钥链访问程序中,然后这个错误就消失了。

在我的例子中,我把项目从我的iMac复制到我的Macbook Pro,发现我没有在Macbook上安装我的私钥。所以我导出了我的私钥,复制并安装到Macbook上,瞧,它工作了!我在这里记录了这些信息: http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html < / p >

我也有同样的问题,但是,这是由于我在我的Mac上设置了“FileVault”。我进入我的钥匙链,将“login”设置为默认值,这就解决了它。

我得到它工作后,重新做一切,然后创建一个空项目与XCode和建设/运行到设备。XCode显示了一个窗口,询问如下内容:是否接受开发人员证书。我按了“一直”。只有在这一步之后,我才摆脱了消息“匹配此配置文件的有效签名身份无法在您的钥匙链中找到”在组织者。

嘿,伙计们,我昨天遇到了一堆麻烦。我经历了整个过程几次,使用助手向权威机构请求新的证书,清除门户中的所有内容,上传证书,创建新的配置文件并下载所有内容。不行。

但是,看看这个。

首先清除门户上的所有证书,重新开始。

在助手创建了新的证书请求后,按“在Finder中显示”,然后双击那个坏男孩。您应该会看到一个证书助手的弹出窗口,屏幕上显示“请指定颁发证书的颁发机构”等。如果你没有,只要关闭它,再次双击。 现在继续对话框选择 “从现有CA请求证书”-继续 请求已“保存到磁盘”-继续 保存在任何你喜欢的地方,甚至覆盖文件

在最后你应该看到神奇的“创建密钥对”

跑到钥匙链访问,你会看到你的钥匙在那里!将这个证书上传到apple门户,然后正常地通过他们的向导,现在一切都应该工作得很好了。

对于两个不同的配置概要文件(开发和分发),有两个不同的证书。您必须在keychain中安装两个证书。在iPhone开发者计划入口:

证书->开发->下载 证书->分发->下载

. zip

双击这两个证书。之后,两个证书都必须出现在Keychain中。

我也遇到了同样的问题:我第一次是在跑步时把证书下载到我的小MacBook上的。当我试图在iMac上安装证书时…然后我遇到了这一页上描述的问题。

和你们很多人一样,我花了几个小时把头发揪出来,然后我按照下面的步骤来解决它:

  1. 关闭你所有的东西,除了你的网页应该登录到应用开发中心。

  2. <李> < p >打开Xcode。单击WINDOW > ORGANIZER。然后单击Devices选项卡,在左侧选择“Provisioning Profiles”。 这应该会打开配置配置文件。逐个高亮显示(如果多于1个),右键单击并删除配置文件。是的,去做吧!全部删除!

  3. 在你登录App Dev Center后看到的第一页右侧点击“iOS PROVISIONING PORTAL”>(不要“启动助手”)。而是点击左边。选择证书。你可能只有一行列出了你的名字/公司-从那里点击右边的REVOKE。单击OK以确认这是您想要做的。

  4. 在同一页面上单击DEVICES。单击要分配的设备旁边的框,然后单击REMOVE SELECTED。再次单击OK进行验证。

  5. 等待大约2分钟,让苹果做他们的事情。

  6. 现在点击左侧导航的“HOME”。

  7. 点击“发射助手”

  8. 创建一个新的应用ID——叫它什么都行。只要确保它足够独特,让你知道这是你刚刚创建的,因为你整天摆弄的其他东西不会从apple Dev Center中删除。

  9. 您应该能够毫无困难地使用Assistant的其余部分——主要的问题是您只需要删除旧的配置文件并重新开始。

好运!

对我来说,只有当证书和两个密钥都在登录密钥链中时,它才有效。我之前创建了一个发展钥匙链,但Xcode管理器不会在那里找到钥匙。所以我把它们移回登录,退出钥匙链工具-瞧,错误在Xcode管理器消失了!这是在3.1.3 SDK的雪豹10.6.2上。

我也遇到过同样的问题。这是因为证书的私钥在您的机器上不存在。

  1. 如果您现在使用的是新机器,并从网站下载证书:

  2. . txt

    . txt

    . txt

    . txt
  3. 如果你与他人共享开发者账号: 您要求帐户所有者向您发送邀请,并成为该帐户的团队成员。

  4. .

    . .
  5. 如果你不想处理这些屁话: 只需在网站上撤销证书,并删除本地机器上的副本。然后申请一个新的。

  6. .这应该是解决这个问题的最终办法

我通过

A)进入门户上的配置文件页面

b)在你遇到麻烦的配置文件上点击Edit(右边)。

c)选中相应的证书框(默认不勾选),选择正确的App ID(我的旧的已经过期了)

d)下载并使用新的配置文件。删除旧的。

这个问题有4种不同的原因:

  1. 您的密钥链缺少与您的密钥相关联的私钥 iPhone Developer或iPhone 李分布证书。< / >
  2. 您的钥匙链缺少Apple全球开发者关系 李中级证书。< / >
  3. 您的证书已被撤销或已过期。
  4. OCSP (Online Certificate Status Protocol)或证书 撤销列表(CRL)被打开 Keychain访问首选项

你需要:

1)私钥和公钥。

你的钥匙链上有这个符号

alt text

2)由这些密钥的签名请求生成的证书

3)连接到该证书的配置文件

假设你换了电脑,想重新设置Xcode配置文件。你是怎么做到的?

  1. 打开Xcode,按ctrl + O打开管理器,删除你可能已经安装的所有配置文件。
  2. 打开keychain访问,并创建一个签名请求并保存到文件中(当您创建请求时,在您的keychain中创建了一个私有和公共密钥)。
  3. 通过向apple发送签名请求,在供应门户中创建/更新证书
  4. 下载并安装新创建的证书。
  5. 撤销您的配置概要文件并使用新证书更新它们。
  6. 下载并安装最新更新的配置概要文件。

对于开发证书,您只需创建一个新的证书并将其与配置文件匹配即可。但是对于分发,就像你要提交给苹果时,你不能这样做,必须使用团队代理创建的分发证书。问题是您需要计算机上的私钥。这很简单,但是,创建证书的团队代理复制私钥给你,下面是来自Apple的说明,我希望这对你有帮助。

将私钥保存在安全的地方是至关重要的,以防你需要在多台计算机上开发或决定重新安装系统操作系统。如果没有你的私钥,你将无法在Xcode中为二进制文件签名和测试你的应用程序在任何苹果设备。生成CSR时,Keychain Access应用程序会在您的登录Keychain上创建一个私钥。此私钥与您的用户帐户绑定,如果由于操作系统重新安装而丢失,则无法复制。如果您计划在多个系统上进行开发和测试,那么您将需要将您的私钥导入到您将要处理的所有系统上。

  1. 要导出您的私钥和证书以进行安全保管,并在多个系统上启用开发,请打开Keychain Access Application并选择“Keys”类别。
  2. 右键单击与您的iPhone开发证书相关联的私钥,然后单击菜单中的“导出项”。私钥由与之配对的iPhone Developer: public证书识别。
  3. 将密钥保存为个人信息交换(.p12)文件格式。
  4. 系统将提示您创建一个密码,当您试图在另一台计算机上导入此密钥时使用。
  5. 现在可以在系统之间传输这个.p12文件。双击.p12文件将其安装到系统上。系统将提示输入步骤4中输入的密码。

在仔细浏览了这里的主题并检查了人们提出的所有解决方案后,我可以自信地断言,在遵循苹果开发者文档中提到的创建CSR和移动供应文件的步骤后,就这样做吧!,

  1. Xcode发射。
  2. 选择窗口- >组织者
  3. 点击这个刷新按钮,肮脏的黄色条将立即删除。

http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg

相信我,你必须这么做。没有必要一遍又一遍地重复这个过程来确保你的方法是正确的。只需按下刷新,输入您的登录凭证,就完成了。

这里的每个人都错了。你所需要的只是遵循Apple在管理您的数字身份中提供的步骤。

它指导你通过Xcode导出你的证书,并通过Xcode重新导入。它工作得很好,但要确保你的用户名在两台电脑上是相同的,否则就会失败。

我花了几个小时处理这个fershluggage问题,它是在更新开发许可证后突然出现的。重申一下,一切都很顺利,然后(感谢苹果!)一切都搞砸了,一直搞砸下去。苹果官方的故障排除步骤(上面有链接)或这里提到的可能的解决步骤都没有为我解决这个问题。

最后,我删除了我的开发证书和发布证书,在配置门户中撤销它们,然后让Xcode自动刷新/发布它们。在任何顺序中,没有其他方法能够将所需的证书和私钥正确地连接到我的密钥链中。

我不知道他们是真的跳过了,还是我的眼睛只是呆滞了,但是....

以防其他人忽略了我所做的事情....

就像你在开发和测试时一样……

1)你需要一个分配<<证书> > 2)你需要一个分销渠道;PROVISIONING PROFILE >>

.配置>

这是门户上的两个步骤,以便对内容进行签名。

在那里,我创建了开发人员证书并将其复制到Mobile Provisions文件夹,不知道为什么它不起作用。

一旦我有了配置文件

*宾果*

Xcode 4需要注意的是:在组织者的左边有两个不同的区域:

  1. 库>配置配置文件

  2. 设备>您的设备>配置文件

我总是把我的配置文件放在2中。即使在清洁和正确安装之后,它也不能工作。然后我发现。最后我找到了刷新按钮。如果您在1中选择“自动设备供应”。然后单击刷新,然后所有内容都得到验证(2中没有黄色警告。了)。

答案是撤销您的当前开发证书并创建一个新的证书。按照苹果网站上的说明来做。就是这么简单!!我也遇到过这样的问题。

我解决了。 我不得不把。cer文件拖到KeyChain Access中。但请确保左上角的“Login”已被选中。否则,Xcode将无法看到证书,也就无法为你的代码签名。< / p >

苹果在这方面还有改进的空间....

以下是我所做的。

  1. 确保您的证书没有过期,确保您删除了所有过期的证书。获得新的文件等,一旦你确定了所有这些都是应该的方式,然后专注于你的项目文件。
  2. 在finder中,转到.xcodeproj文件,然后显示包内容。
  3. 开放的项目。在xcode或textedit中的Pbxproj。
  4. 找到每个引用到PROVISIONING_PROFILE并删除GUID,只留下空"" 根据你的项目,你应该有12个以上的引用,删除所有的guid

  5. 保存文件,然后在XCODE中重新打开项目

  6. 为所有可能的代码签名重新选择正确的供应配置文件(它们不应该全部相同)
  7. 构建您的项目,您应该可以开始了。

我认为Xcode在某种程度上混淆了,从项目中删除了所有的Provision Profiles。Pbxproj,然后重新选择一个有效的配置文件将使它直。

以下是简单的步骤:

  1. 从计算机上的keychain(其中已经包含开发密钥)开始,创建一个证书请求。将请求上传到开发站点并创建证书。
  2. 使用证书创建配置文件。
  3. 下载配置文件并将其放到Xcode上。

现在所有的点都连接起来了,应该可以工作了。这对开发和推广都适用。

我登录了开发人员帐户并撤销了开发证书。撤销和下载开发证书后,我双击新下载的证书,这一次私钥在开发证书下的KeyChain访问。

如果你有新的mac你可以去 IOS开发中心->供应门户->证书->开发->撤销并创建新证书。我的问题解决了。我的错误是“代码签名错误:身份'iPhone开发者'不匹配任何有效的,未过期的证书/私钥对在你的钥匙链”

确保这种情况干净地发生的一个好方法是首先完全清理您的登录密钥链。

另外,一个非常重要的步骤是在导入私钥和公钥之前解锁您的钥匙链

 security unlock-keychain -p password ~/Library/Keychains/login.keychain

将私钥导入登录keychain:

security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain

导入1个身份。

将公钥导入登录keychain:

security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain

1键导入。

昨天我们的CI服务器也遇到了类似的问题。无法对应用程序扩展名进行错误签名

Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.

注意:我自己从开发人员门户创建了我的配置文件(不受Xcode管理)。

错误在于,我已经使用分发证书创建了供应配置文件,但是构建设置设置为使用开发人员证书。将其更改为使用分发证书解决了这个问题。

enter image description here

摘要:在生成设置中也要匹配用于创建配置文件的证书。

因为我不断地回到这个问题上,所以我将把我的答案留在这里,寻找适合我的解决方案。事实证明,对于我的同一个公钥/私钥开发人员标识符,它在我的钥匙串中安装了两次。两者都有私钥。但是当我比较时,一个是我在我的开发人员组织中的私钥,另一个是我作为个人开发人员的私钥。结果Xcode一直在尝试使用错误的键。删除错误的重复密钥可以解决所有问题。嘿,未来的我,下次先看看这个!

对于Xcode 13(也许更早?)-关键是使用&;Build settings &;标签,而不是“签名和能力”;选项卡中的目标设置。进入“构建设置”后,搜索“签名”;部分(您可以输入“;签名”;在搜索框中)。在那里,您将看到一个名为代码签名标识的子部分。在该部分中,您可以单击每行并直接选择您的密钥链中的任何证书。你需要为所有相关的配置(你想要上传到TestFlight/AppStore的配置)这样做。当你回到“签名和能力”;Tab,您应该看到所做操作的结果,错误应该已经消失。

我从下面的答案中得到了灵感:https://stackoverflow.com/a/37043501/826946

但我认为明确地列出这一点可能会有所帮助。