修复 macOS Sequoia 上 .NET 的 HTTPS 开发者证书错误

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

MacOS 15 Sequoia 的安全 API 变更导致 dotnet CLI 无法生成和信任 HTTPS 开发者证书,影响 .NET 开发者。问题出在 X509Certificate2.CopyWithPrivateKey 方法处理临时密钥时失败。修复计划在十月发布,目前可通过删除现有证书、下载 .NET SDK 包并解除隔离属性来解决。

🎯

关键要点

  • MacOS 15 Sequoia 的安全 API 变更导致 dotnet CLI 无法生成和信任 HTTPS 开发者证书。
  • dotnet dev-certs https 命令失败,显示错误信息:指定的项目不再有效,可能已从钥匙串中删除。
  • 问题源于 macOS Sequoia 的安全 API 变更,影响了 .NET 如何处理钥匙串中的临时密钥。
  • X509Certificate2.CopyWithPrivateKey 方法在处理由 .NET 创建或导入的临时 RSA/ECDSA 密钥时失败。
  • 此问题阻碍了 macOS Sequoia 上的 .NET 开发者生成或信任 HTTPS 开发者证书,影响开发和调试需要 HTTPS 的 .NET 应用程序。
  • 计划在十月发布修复,但目前可以通过删除现有证书和下载 .NET SDK 包来解决。
  • 解决方法包括:删除现有证书,下载 .NET SDK 的 tar.gz 文件,解压并移除隔离属性,然后生成和信任证书。

延伸问答

macOS 15 Sequoia 对 .NET 开发者证书有什么影响?

macOS 15 Sequoia 的安全 API 变更导致 dotnet CLI 无法生成和信任 HTTPS 开发者证书,影响 .NET 开发者的开发和调试工作。

如何解决 .NET 开发者证书生成失败的问题?

可以通过删除现有证书、下载 .NET SDK 的 tar.gz 文件、解压并移除隔离属性来解决该问题。

dotnet dev-certs https 命令失败的原因是什么?

该命令失败是因为 macOS Sequoia 的安全 API 变更,导致 X509Certificate2.CopyWithPrivateKey 方法在处理临时密钥时失败。

计划何时发布修复 .NET 开发者证书问题的更新?

修复计划在十月发布。

如何在终端中删除现有的 HTTPS 开发者证书?

在终端中运行命令 dotnet dev-certs https --clean 来删除现有证书。

在 macOS Sequoia 上开发 .NET 应用程序需要 HTTPS 证书吗?

是的,开发和调试需要 HTTPS 的 .NET 应用程序必须生成和信任 HTTPS 开发者证书。

➡️

继续阅读