.NET Core添加程序包-证书无效

llew8vvj  于 2023-10-21  发布在  .NET
关注(0)|答案(3)|浏览(215)

我使用的是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
1.已执行sudo update-ca-certificates
得到同样的错误。

nnsrf1az

nnsrf1az1#

我在企业环境中遇到了同样的错误。最终,我找到了解决问题的办法。
最初,我试图将根CA证书复制到上面提到的相同路径中,但是当我运行命令update-ca-certificates时,我在输出中发现它正在查找路径**/etc/ssl/certs/**而不是/usr/local/share/ca-certificate
在复制证书到该文件夹和update-ca-certificates后,它就被弄清楚了。
祝你好运

slsn1g29

slsn1g292#

对于遇到此问题的任何人来说,没有办法绕过证书验证。
我的Ubuntu应用程序由于某种原因出现了问题。我不得不重新安装它来解决这个问题。
https://github.com/microsoft/WSL/issues/4666

ryoqjall

ryoqjall3#

我的问题最终变得不同:直到今天,WSL仍然有一个愚蠢的错误,时间可以疯狂地偏离轨道,特别是如果你的电脑进入睡眠状态。在我的例子中,我的WSL示例是过去两天的,这违反了SSL验证。
解决方案是通过退出所有windows完全关闭wsl,然后在powershell或其他地方执行wsl --shutdown,或者只是重新启动计算机。由于某种原因,与NIST或其他任何人同步时钟并不总是在WSL中工作。
再次验证时间正确后(只需在wsl中执行date),再次尝试network命令,看看它们是否工作(在我的例子中,它是apt updatedotnet add package

相关问题