【问题标题】:How to resolve nuget error SSL connection on Linux Mint 20?如何解决 Linux Mint 20 上的 nuget 错误 SSL 连接?
【发布时间】:2021-04-08 01:27:03
【问题描述】:

当我尝试使用 .NET 5.0 加载简单项目时出现错误。 显然,它在 Nuget 包中。

我搜索过的所有答案都对我不起作用,他们的问题似乎是因为代理设置。请注意,我不在代理下,这意味着我可以完全访问所有网站,包括 de nuget.org

我只是这样做:

dotnet run

我得到了这些错误:

dotnet/sdk/5.0.101/NuGet.targets(131,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json.

dotnet/sdk/5.0.101/NuGet.targets(131,5): error : The SSL connection could not be established, see inner exception.

dotnet/sdk/5.0.101/NuGet.targets(131,5): error : The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot

我相信是因为 TLS 证书,不确定。

重要提示: 在 .Net Core 3.1 上工作 我正在使用 Linux Mint 20(基于 Ubuntu)

我的 OpenSSL 配置:

OpenSSL 1.1.1g 21 Apr 2020

这是我的 .net 信息的输出

 Version:   5.0.101
 Commit:    d05174dc5a

Runtime Environment:
 OS Name:     linuxmint
 OS Version:  20
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/5.0.101/

Host (useful for support):
  Version: 5.0.1
  Commit:  b02e13abab

.NET SDKs installed:
  2.1.811 [/usr/share/dotnet/sdk]
  2.2.402 [/usr/share/dotnet/sdk]
  3.1.404 [/usr/share/dotnet/sdk]
  5.0.101 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.23 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.23 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.23 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]```


【问题讨论】:

    标签: asp.net-core .net-core nuget .net-5


    【解决方案1】:

    因为我遇到了无效证书链的类似问题。 在我的情况下更具体地说是:

    无法建立 SSL 连接,请参阅内部异常。 由于证书链中的错误,远程证书无效:PartialChain

    我发现了一个讨论 Unix 机器上的证书问题的 GitHub 线程。这给了我一个回复,在其中一个 cmets 中提供了一个解决我的问题的解决方案:

    sudo update-ca-certificates  --fresh
    

    该命令为我的问题提供了一个可行的解决方案,它可能是上述问题的可能解决方案。

    命令update-ca-certificates 更新保存SSL 证书的目录/etc/ssl/certs 并生成ca-certificates.crt,这是一个串联的单文件证书列表。它读取文件/etc/ca-certificates.conf。

    每一行都给出了/usr/share/ca-certificates 下应该信任的 CA 证书的路径名。以“#”开头的行是注释行,因此被忽略。以“!”开头的行被取消选择,导致相关 CA 证书被停用。证书必须具有 .crt 扩展名才能包含在 update-ca-certificates 中。

    另外--fresh 删除/etc/ssl/certs 目录中的符号链接。

    【讨论】:

    • 另外,我想出了这些命令,这些命令允许我在我不记得的 Unix 系统上运行,但我想我像你发布的那样生成或更新证书 export SSL_CERT_FILE=/etc/ssl /certs/ca-certificates.crt export SSL_CERT_DIR=/dev/null
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多