Keychain 中的 macOS 安装程序证书评估错误:无效的扩展密钥使用

macOS installer certificate evaluation error in Keychain: Invalid Extended Key Usage

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

在钥匙串访问中评估证书时,出现错误:无效的扩展密钥使用

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

证书评估失败的可能原因有:

  1. 该证书可能不适用于代码签名(类似于this)。在这种情况下,您应该获取支持代码签名的新证书。
  2. 证书可能用于代码签名但已损坏(类似于this)。在这种情况下,您应该删除此证书并重新安装。

请注意,您可以按照 this and this 教程在钥匙串应用中创建自签名代码签名证书以进行测试。确保在 "Get Info" > "Trust" 中启用它,设置为 "Always Trust"。

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

首先,您必须将您的 Apple ID 添加到 Xcode 中的“帐户”偏好设置。

  • 开始Xcode
  • Select Xcode > 导航栏中的首选项。
  • 在 window select 个帐户的顶部。
  • 点击左下角的+,select添加Apple ID...

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

Select 您的 Apple ID 和您在右侧栏中的团队,然后单击 View Details....

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

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

  • 如果您还没有创建它们,您会在旁边看到一个 Create 按钮 他们。
  • 只需 select 它,Xcode 将发布并下载您的代码签名 使用正确的开发人员证书参数为您提供身份 iOS 应用开发。
  • 注意:如果您已经向您的开发者帐户发放了 Code Signing Identities:您会在它们旁边看到一个 Reset 按钮。您可以用它颁发新的证书,Xcode 将生成并下载,但请注意,这会使您以前的证书无效,所以只有在您丢失了这些文件或您知道自己在做什么的情况下才这样做!

将来,一旦一切正常,我还建议您单击 Xcode 中的选项以允许它自动管理代码签名。这将在证书过期时自动续订您的证书,因此无需额外的续订步骤。这个选项应该在你的应用程序的一般项目设置中可用,它也可以通过 selecting project > Targets > General > Signing

来实现

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