首页 文章

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

提问于
浏览
308

我把头发拉过来 . 我刚下载了 iPhone 3.0 SDK ,但现在我无法让我的配置文件工作 . 这是我尝试过的:

  • 删除所有配置文件

  • 删除登录密钥链

  • 创建新的"login"钥匙串,将其设为默认值

  • 创建新的证书签名请求

  • 在Apple开发人员中心创建新的开发人员和分发证书

  • 下载并安装它们

  • 下载WWDR证书并进行安装

  • 创建新的配置文件并双击它以进行安装

所有证书都报告为有效,但 Xcode 仍然无法识别它们 . 我接下来应该尝试什么?

编辑:

我完全重新安装了 Mac OS X 并从安装了 3.0 SDK 的全新安装中仍然遇到了同样的问题 .

30 回答

  • 65

    我发现我需要将我从开发人员程序门户网站上的“证书 - >分发”页面下载的distribution_identity.cer文件拖到钥匙串访问程序中,然后这个错误就消失了 .

  • 1

    在重新执行所有操作后,我使用XCode创建一个空项目并将其构建/运行到设备上 . XCode显示了一个窗口,询问:您是否要接受开发人员证书 . 我按下了“永远” . 只有在这一步之后,我才能删除“管理器中无法在您的钥匙串中找到与此配置文件匹配的有效签名身份”的消息 .

  • 2

    你需要什么:

    1)私钥和公钥 .

    他们的钥匙串中有这个符号:

    alt text http://pici.se/pictures/IbNdRGuoy.png

    2)根据这些密钥的签名请求制作的证书

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

    假设您更换计算机并希望再次使用配置文件设置Xcode . 你怎么做呢?

    • 打开Xcode,按ctrl O打开管理器,并删除您可能已安装的所有配置文件 .

    • 打开钥匙串访问权限,并创建一个保存到文件的签名请求(当您创建请求时,会在您的钥匙串中创建私钥和公钥) .

    • 通过发送apple签名请求在配置门户中创建/更新证书

    • 下载并安装新创建的证书 .

    • 撤消您的配置文件并使用新证书更新它们 .

    • 下载并安装新更新的配置文件 .

  • 1

    只是使用Xcode 4的注释:在组织者中左侧窗格中有两个不同的部分:

    • 库>供应配置文件

    • 设备>您的设备>配置文件

    我总是将我的配置文件放入2.即使在清洁和正确安装后它也无法正常工作 . 然后我发现1.最后我找到了刷新按钮 . 如果您在1.中选择“自动设备配置”并单击刷新,则所有内容都会得到验证(不再是2.中的黄色警告) .

  • 1

    如果您有新的mac,可以访问IOS开发人员中心 - > Provisioning Portal - >证书 - >开发 - >撤销并创建新证书 . 我的问题解决了 . 我的错误是“代码签名错误:身份'iPhone开发人员'与您的钥匙串中任何有效的,未过期的证书/私钥对不匹配”

  • 2

    我刚刚花了几个小时来解决这个问题,这个问题在更新我的开发许可证后出现了 . 重申一下,一切都顺利进行,然后(谢谢Apple!)这一切都搞砸了,一直搞砸了 . Apple正式的故障排除步骤(与上述相关)或此处提及的可能解决步骤均未解决此问题 .

    最后为我做的是删除我的开发和分发证书,在配置门户中撤销它们,然后让Xcode自动刷新/发布它们 . 在任何顺序中,没有其他任何东西能够在正确连接私钥的情况下将所需的证书存入我的钥匙串 .

  • 5

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

  • 27

    我解决了

    a)转到门户网站上的配置文件页面

    b)单击您遇到问题的配置文件上的编辑(右侧) .

    c)检查“适当的证书”框(默认情况下未选中)并选择正确的应用程序ID(我的旧版本已过期)

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

    Apparently此问题有4种不同的原因:

    您的钥匙串缺少与您的iPhone开发人员或iPhone分发证书相关联的私钥 . 您的钥匙串缺少Apple全球开发者关系中级证书 . 您的证书已被撤销或已过期 . Keychain Access中启用了在线证书状态协议(OCSP)或证书吊销列表(CRL)喜好

    .

  • 1

    答案是撤销您的当前开发证书并重新制作新证书 . 按照苹果网站上的说明进行操作 . 就这么简单!!我遇到了这个问题 .

  • 3

    我们的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管理) .

    错误是我使用分发证书创建了配置文件,但是构建设置被设置为使用开发人员证书 . 将其更改为使用分发证书解决了该问题 .

    摘要:匹配用于在构建设置中创建配置文件的证书 .

  • 1

    我有完全相同的问题并尝试了一切 . 无论出于何种原因,解决方案是我的所有证书都已迁移到名为“microsoft_intermediate_certificates”的钥匙串 . 因为它可能发生在Xcode升级期间我完全不知道为什么,但它可能会帮助某人 .

    我将Microsoft密钥链的所有内容移动到登录密钥链,一切都恢复正常 .

  • 2

    您是否尝试重新启动Mac和设备? Lame回答,但我总是先尝试一下 .

  • 2

    我不知道他们是否真的跳过了它,或者我的眼睛是否只是上釉了......

    以防万一其他人忽略了我做过的事情....

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

    1)您需要分发<<证书>> 2)您需要分发<<提供概况>>

    这是门户网站上的两个步骤,以便签署该项目 .

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

    一旦我有配置文件到位

    *** BINGO ***

  • 2

    我终于得到了这个工作,比如,在发生最初发布的相同问题之后的4次单独尝试 . 所以这就是发生的事情,我现在不确定这是否是一个老问题(2009-07-09),但我会发帖,以防万一它对你有帮助 . 什么对我有用...可能对你有用......

    • 重新开始并删除钥匙串中的旧私钥,公钥和证书

    • 完成整个过程,从证书颁发机构请求证书,获取新的公钥,新的私钥和新证书 . 注意:当它工作时,我只有一个私钥,一个公钥和一个证书

    • 制作新的配置文件(使用您刚刚制作的证书)并将其放入Xcode中的管理器窗口中 . 删除所有旧BS .

    • 运行它 .

    希望这会有所帮助 .

  • 2

    我遇到了同样的问题但是,这是因为我在Mac上设置了“FileVault” . 我进入了我的钥匙串并将“登录”设置为我的默认设置并修复了它 .

  • 166

    我遇到了同样的问题:我在运行时首先将证书下载到我的小型MacBook上 . 当我尝试在我的iMac上安装证书时...然后我遇到了本页描述的问题 .

    花了好几个小时把你的头发拉出来之后,我执行了以下步骤来修复它:

    • 关闭除了应该登录到App Dev中心的网页之外的所有内容 .

    • 打开Xcode . 单击WINDOW> ORGANIZER . 然后单击“设备”选项卡,然后选择左侧的“配置配置文件” . 这应该会显示您的配置文件 . 逐个突出显示(如果超过1),右键单击并删除配置文件 . 是的,就这样做吧!全部删除! (在我试图让这件事发挥作用之后,我不断制作一个新的 . )

    • 从登录到右侧App Dev Center后看到的第一页单击“iOS PROVISIONING PORTAL”>(不要“启动助手”) . 而是单击左侧 . 选择证书 . 你可能只有一行列出你的名字/公司 - 从那里点击右侧REVOKE . 单击“确定”以验证您要执行的操作 .

    • 在同一页面上单击“设备” . 单击您要设置的设备旁边的框,然后单击“删除已选择” . 再次单击“确定”进行验证

    • 等待大约2分钟让Apple做他们的事情 .

    • 现在点击左侧导航栏中的“HOME” .

    • 点击“启动助手”

    • 创建一个新的应用程序ID - 无论你想要什么,都可以调用它 . 只要确保它足够独特,就能知道你刚才创建的那个,因为你整天乱搞的其他人都不会从苹果开发中心删除 .

    • 您应该能够毫无困难地跟随助手的其余部分 - 主要的是您只需要删除旧的配置文件并重新开始 .

    祝好运!

  • 9

    两种不同的配置文件(开发和分发)有两种不同的证书 . 您必须在钥匙串中安装BOTH证书 . 在iPhone开发人员计划门户中:

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

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

  • 70

    我遇到了同样的问题 . 这是因为您的计算机上不存在证书的私钥 .

    • 如果您现在正在使用新计算机并从网站下载证书:您可以从旧计算机导出证书,然后在新计算机上导入 .

    • 如果您与某人共享开发者帐户:您要求帐户所有者向您发送邀请并成为该帐户的团队成员 . 然后,您可以从头开始创建自己的证书 .

    • 如果您不想处理所有这些问题:只需撤销网站上的证书并删除本地计算机上的副本即可 . 然后请求一个新的 . 这应该是解决此类问题的最终方式 .

  • 22

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

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

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

    将私钥导入登录密钥链:

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

    1个身份导入 .

    将公钥导入登录密钥链:

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

    1键进口 .

  • 1

    嘿伙计们,我昨天遇到了很多麻烦 . 我经历了几次整个过程,向助理请求权威机构的新证书请求,清除门户网站中的所有内容,上传证书,创建新的配置文件以及下载所有内容 . 没有骰子 .

    However, check this out.

    首先清除门户网站上的所有证书以重新开始 .

    在助理创建新证书申请后,按“在Finder中显示”,然后双击那个坏男孩 . 您应该获得证书助理的弹出窗口,其中显示“请指定颁发证书颁发机构”等屏幕 . 如果您没有,请关闭它并再次双击 . 现在,继续选择“从现有CA请求证书”对话框 - 继续请求“已保存到磁盘” - 继续将其保存到您喜欢的位置,甚至覆盖该文件 .

    最后你应该看到魔法 "Creating key pair"

    跑到KeyChain访问,你会看到你的钥匙!将此证书上传到Apple门户,然后正常完成他们的向导,现在一切都应该很好 .

  • 7

    昨天有同样的问题 . 现在,在签署到开发人员门户后,每个无效的配置文件都有一个“续订”按钮 . 更新和下载更新的配置文件后,所有似乎都按预期工作,所以问题肯定解决了:)

    更新:您可能需要联系Apple以获取“续订”按钮,或者他们将其删除 - 解决方案是只需下载并将其添加到钥匙串,无需续订 .

  • 14

    对我来说,它仅在证书和两个密钥都在登录密钥链中时才有效 . 我之前创建了一个开发钥匙链,但是Xcode Organizer在那里找不到钥匙 . 所以我把它们移回登录,退出钥匙串工具 - 瞧,Xcode Organizer中的错误就消失了!这是使用3.1.3 SDK在Snow Leopard 10.6.2上 .

  • 1

    我登录了开发者帐户并撤销了开发证书 . 在撤销和下载开发证书后,我双击了新下载的证书,这次私钥在KeyChain Access中有开发证书 .

  • 1

    在仔细浏览了这里的主题并检查了人们提出的所有解决方案后,我可以自信地声称这一点,在按照Apple开发人员文档中提到的创建CSR和移动配置文件的步骤之后,就这样做!

    • 启动Xcode .

    • 选择窗口 - >管理器

    • 单击此刷新按钮,该脏污黄色条将立即删除 .

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

    相信我,你只需要这样做 . 无需一次又一次地重复该过程以确保您以正确的方式执行此操作 . 只需按刷新,输入您的登录凭据就可以了 .

  • 1

    完成此操作的简单步骤:

    • 从计算机上的钥匙串(已包含您的dev密钥)开始,并创建证书请求 . 将请求上载到开发站点并创建证书 .

    • 使用证书创建配置文件 .

    • 下载配置文件并将其放在Xcode上 .

    现在所有的点都连接起来了 . 这适用于开发和分发 .

  • 1

    我得到的最好答案是导出密钥,而不是仅仅尝试导入cert文件 .

    从生成请求的钥匙串导出密钥时,您将获得Certificates.p12文件,该文件将您需要的密钥一起滚动 .

    然后将其导入新计算机 .

    使用这样的密钥,保留一个滚动的证书包文件可能是件好事,因为很多时候“公共”密钥或证书文件不足以从中恢复 .

  • 3

    这里的每个人都非常错误 . 您只需按照Apple的步骤操作即可提供Managing Your Digital Identities .

    它指示您通过Xcode导出证书并通过Xcode重新导入 . 它工作得很好,但请确保您的用户名在两台计算机上都相同,否则会失败 .

  • 2

    在我的情况下,我将项目从我的iMac复制到我的Macbook Pro,发现我没有在这里记录信息:http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html

  • 1

    对于开发证书,您只需创建一个新证书并将其与配置文件匹配即可 . 但是,对于分发,例如当您要提交给Apple时,您无法执行此操作,并且必须使用团队代理创建的分发证书 . 问题是你需要机器上的私钥 . 但是,对于创建证书的团队代理来复制私钥非常简单,下面是Apple的说明,我希望这会有所帮助 .

    在需要在多台计算机上进行开发或决定重新安装系统操作系统时,将私钥保存在安全的地方至关重要 . Without your private key, you will be unable to sign binaries in Xcode 并在任何Apple设备上测试您的应用程序 . 生成CSR时,Keychain Access应用程序会在您的登录密钥链上创建一个私钥 . 此私钥与您的用户帐户绑定,如果因重新安装操作系统而丢失,则无法复制 . 如果您计划在多个系统上进行开发和测试,则需要将私钥导入到您正在进行的所有系统上 .

    • 要导出私钥和证书以便安全保存并在多个系统上启用开发,请打开Keychain Access Application并选择“Keys”类别 .

    • 控制 - 单击与iPhone开发证书关联的私钥,然后单击菜单中的“导出项目” . 私钥由iPhone Developer标识:与之配对的公共证书 .

    • 将密钥保存为个人信息交换(.p12)文件格式 .

    • 将提示您创建一个密码,当您尝试在另一台计算机上导入此密钥时使用该密码 .

    • 您现在可以在系统之间传输此.p12文件 . 双击.p12将其安装在系统上 . 系统将提示您输入在步骤4中输入的密码 .

  • 3

    这就是我做的 .

    • 确保您的证书尚未过期,请确保删除所有过期的证书 . 获得新的等等,一旦确定了应有的方式,那么请关注项目文件 .

    • 在finder中,转到.xcodeproj文件,然后显示包的contentes .

    • 在xcode或textedit中打开project.pbxproj .

    • 找到每个refrense到PROVISIONING_PROFILE并删除GUID,只留空“”根据您的项目,您应该有大约12个参考,删除所有GUID .

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

    • 为所有可能的代码签名选择正确的配置文件(它们不应全部相同)

    • Build 你的项目,你应该好好去 .

    我认为Xcode会对某些方面感到困惑,并从project.pbxproj中删除所有Provision Profiles,然后重新选择有效的配置文件将使其设置为striaght .

相关问题