修复 macOS Sequoia 上 .NET 中的 HTTPS 开发人员证书错误
解决方法
MacOS 15 Sequoia 对其安全 API 进行了更改,这破坏了dotnet
CLI 生成和信任 HTTPS 开发人员证书的能力。
命令dotnet dev-certs https
失败并显示以下消息:
There was an error creating the HTTPS developer certificate.
当使用详细标志(-v
)运行时,您将看到更详细的错误:
An error has occurred generating the certificate: Interop+AppleCrypto+AppleCommonCryptoCryptographicException: The specified item is no longer valid. It may have been deleted from the keychain.
影响
此问题阻止 macOS Sequoia 上的 .NET 开发者生成或信任 HTTPS 开发证书。如果没有这些证书,您将无法开发和调试需要 HTTPS 的 .NET 应用程序。
解决方法
虽然计划在 10 月份发布修复程序,但这里有一个您可以立即使用的解决方法(感谢 GitHub 上的用户pvasek和kalebzettl ):
-
为防万一,请删除所有当前存在的证书。打开终端并运行:
dotnet dev-certs https --clean
-
从.NET SDK 软件包表下载
tar.gz
“主”版本的文件。您也可以直接访问下面的链接。 -
解压下载的文件。
-
移除解压后文件夹的隔离属性。在终端运行:
xattr -d com.apple.quarantine -r <folderName>
将 替换<folderName>
为解压后文件夹的名称。例如:xattr -d com.apple.quarantine -r dotnet-sdk-9.0.100-rc.2.24473.22-osx-arm64
-
导航到解压后的文件夹:
cd dotnet-sdk-9.0.100-rc.2.24473.22-osx-arm64
-
在此文件夹中,运行以下命令来生成并信任证书。
./dotnet dev-certs https --trust
请注意./
之前的内容dotnet
- 这可确保您使用的是刚刚下载的版本,而不是全局安装的版本。
这应该成功生成并信任 HTTPS 开发人员证书,允许您继续在 macOS Sequoia 上进行 .NET 开发。
鏂囩珷鏉ユ簮锛�https://dev.to/michaelcharles/fixing-the-https-developer-certificate-error-in-net-on-macos-sequoia-516h