【问题标题】:How to import keychain from one development machine to another如何将钥匙串从一台开发机器导入另一台开发机器
【发布时间】:2014-05-27 07:02:32
【问题描述】:

实际上我们是使用两台MAC机器在mac中使用xcode开发一个Package。只有一台 Mac 拥有证书,并且位于不同的国家/地区。我们为本地 mac 导出了该证书。但是当我尝试使用该证书进行代码签名时,我收到错误消息“无法为“开发人员 ID 安装程序:ID”找到合适的签名身份 ” 我无法添加代码设计。正确导入证书的步骤是什么。

【问题讨论】:

    标签: xcode macos code-signing


    【解决方案1】:

    该消息通常表明您没有签名所需的私钥,只有证书,这是不够的。

    要导出签名身份,最好的办法是使用 Xcode 中的 Accounts 首选项面板。

    1. 在您发送签名信息的机器上启动 Xcode
    2. 选择 Xcode > 首选项
    3. 选择帐户标签
    4. 从齿轮菜单中,选择导出帐户,然后选择要放置信息的文件并输入密码
    5. 将导出的身份文件传输到接收机器
    6. 在接收机器上执行步骤 1-3
    7. 从齿轮菜单中,选择导入帐户,然后选择您刚刚带来的文件,并在询问时输入密码。

    这应该导入整个签名身份,包括证书、配置文件和私钥。

    通过钥匙串访问

    如果由于某种原因,您发送签名信息的机器上的 Xcode 没有列出任何帐户,则您可能正在使用脚本或命令行进行签名并使用身份信息而不加载帐户直接进入 Xcode 的 UI。如果可能的话,我建议您使用 Accounts 选项卡将您的帐户添加到 Xcode,以便获得 Xcode 提供的自动行为,但这可能不是绝对必要的,特别是如果您只使用 Developer ID(非 AppStore) 分发。

    要从 Keychain Access 导出,您需要同时导出签名证书和密钥。签名证书也可从 Apple 的开发人员门户获得,但密钥永远不会直接离开您的机器(只有指纹在 CSR 中发送),因此如果您的组织有权访问的机器上不存在原始密钥,您可能需要撤销现有密钥并创建一个新密钥。

    要在 Keychain Access 中找到您的钥匙,请执行以下操作:

    1. 启动钥匙串访问
    2. 点击我的证书
    3. 浏览列表或使用搜索框查找您的证书(在 Developer ID 上搜索应该会产生任何与开发者 ID 相关的证书)
    4. 每个具有关联私钥的证书在左侧都有一个显示三角形,单击该三角形可显示密钥
    5. 可以通过选择密钥和证书(确保它们都被选中,或一次导出一个)并使用文件>导出项目
    6. 来导出此密钥
    7. 在提示保护导出文件时提供密码
    8. 将导出的文件复制到您的另一台机器上
    9. 使用 Keychain AccessFile > Import Items 将证书/密钥导入新机器

    注意:如果您丢失了您的私钥,您需要吊销您的证书,生成一个新的密钥,并创建一个新的签名证书。在没有首先确保您没有可用的密钥副本之前不要这样做。具体含义取决于使用密钥签署的证书类型,但您需要重新生成所有使用先前密钥的证书。

    【讨论】:

    • 谢谢@gaige。但是如何导入私钥。我的出口帐户没有得到点击它的高度。我对它很陌生。帮我做。
    • 从您的原始帖子中,我假设至少其中一台机器能够使用该证书在 Xcode 中签署二进制文件。如果是这种情况,那台机器应该可以导出。如果不是这种情况,请使用“帐户”选项卡添加能够签名的 Apple ID。您可以成功签名的任何机器都具有证书和私钥。如果您无法在任何一台机器上签名,则需要重新建立签名密钥和证书。
    • 是的,我的一台机器能够使用该证书在 xcode 中签署二进制文件。这意味着首先我需要选择要导出的帐户,我无法从钥匙串中选择我的证书。正如你所说,如果我需要添加苹果 ID,我应该添加哪个 ID。我可以直接添加证书名称本身吗
    • 如果您可以在 Xcode 中自动签署二进制文件,那么您应该已经在 Xcode 中设置了帐户。如果您手动对它们进行签名(使用xcodebuild),那么它们可能不会在 Xcode 中加载。您不需要(并且真的不想,除非您必须)从 Keychain Access 应用程序导出,因为在那里很难找到合适的东西。我会在一分钟内为我的答案添加更多信息,这可能会有所帮助。
    • 我可以直接获取钥匙链中的证书并从那里导出它吗?但在 xcode 中,出口账户没有得到高分
    猜你喜欢
    • 2019-05-19
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多