修复 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 开发者证书。
➡️