首页 > 解决方案 > 钥匙串中的 macOS 安装程序证书评估错误:无效的扩展密钥用法

问题描述

我生成了一个用于代码签名的 mac 安装程序证书,但出现错误,阻止我使用证书对安装程序进行签名

在评估钥匙串访问中的证书时,我收到一个错误:Invalid Extended Key Usage

以下是尝试评估安装程序证书以进行代码签名时的错误序列。

步 第2步 第 3 步 最终错误

标签: macoscertificatecode-signingkeychain

解决方案


我发现这个过程在使用 Xcode 生成代码签名密钥时效果更好,而不是直接通过 Keychain 访问应用程序。这将帮助您创建代码签名证书,并为您正在开发的应用程序类型提供正确的配置和签名参数。如果您还没有 Apple 的付费开发者帐户,您仍然可以为代码签名创建一个自签名证书以生成签名的应用程序,而无需将它们上传到应用商店。

首先,您必须将您的 Apple ID 添加到 Xcode 中的 Accounts 首选项中。

  • 启动 Xcode
  • 从导航栏中选择 Xcode > 首选项。
  • 在窗口顶部选择帐户。
  • 单击左下角的 + 并选择添加 Apple ID...

添加您的 Apple ID

将出现一个对话框。添加您的 Apple ID 和密码,然后选择登录。如果您没有帐户,您可以通过选择创建 Apple ID 来创建您的 Apple ID。

登录您的 Apple ID

从右侧栏中选择您的 Apple ID 和您的团队,然后单击View Details....

将出现一个对话框,您将在其中看到您的代码签名身份和配置文件。

选择正确的签名身份

对于 iOS 开发,在签名标识下找到iOS DevelopmentiOS Distribution配置文件。

  • 如果您尚未创建它们,您将在它们Create旁边看到一个按钮。
  • 只需选择它,Xcode 就会使用正确的开发人员证书参数为您发布并下载您的代码签名身份,以用于 iOS 应用程序开发。
  • 注意:如果您已经Code Signing Identities向您的开发者帐户发出:您将Reset在它们旁边看到一个按钮。您可以使用它颁发新证书,Xcode 将生成和下载,但是请注意,这将使您以前的证书无效,因此只有在您丢失了这些文件或者您知道自己在做什么时才这样做!

将来,一旦你完成了所有工作,我还建议单击 Xcode 中的选项以允许它自动管理代码签名。这将在您的认证到期时自动更新您的认证,因此不会有额外的更新步骤。此选项应在您应用的常规项目设置中可用,也可以通过选择project > Targets > General > Signing

希望对你有帮助,祝你好运!


推荐阅读