.NET Core 添加包 - 证书无效

.NET Core Add Package - Invalid Certificate

我正在使用 WSL Ubuntu,它没有针对某些网站(包括 NuGet)的完整证书链。

因此,我无法从 NuGet 添加或恢复包。有没有办法绕过它?

示例:

dotnet restore

出现以下错误:

/usr/share/dotnet/sdk/3.0.100/NuGet.targets(123,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/pomatti/Projects/dojo-for-net/solutions/WhiteBelt/WhiteBelt.sln]
/usr/share/dotnet/sdk/3.0.100/NuGet.targets(123,5): error :   The SSL connection could not be established, see inner exception. [/home/pomatti/Projects/dojo-for-net/solutions/WhiteBelt/WhiteBelt.sln]
/usr/share/dotnet/sdk/3.0.100/NuGet.targets(123,5): error :   The remote certificate is invalid according to the validation procedure. [/home/pomatti/Projects/dojo-for-net/solutions/WhiteBelt/WhiteBelt.sln]

更新

我尝试手动将所有证书添加到 Ubuntu,但没有成功:

  1. 已将巴尔的摩、Microsoft 和 NuGet 证书复制到 /usr/local/share/ca-certificate
  2. 已执行sudo update-ca-certificates

遇到同样的错误。

任何遇到此问题的人都无法绕过证书验证。

我的 Ubuntu 应用由于某种原因出现问题。我不得不重新安装它来解决问题。

https://github.com/microsoft/WSL/issues/4666

我在公司环境中遇到了同样的错误。最终我找到了适合我的案例的解决方案。

最初我尝试将根 CA 证书复制到您上面提到的相同路径中,但是当我 运行 命令更新 ca 证书时,我在输出中发现它正在寻找路径 <strong>/etc/ssl/certs/</strong> 而不是 /usr/local/share/ca-certificate.

将证书复制到该文件夹​​并update-ca-certificates

祝你好运。