具有无效证书的自定义 NuGet 源



如何使用 nuget 命令禁用 SSL 证书检查?

PS C:\Softwares>.uget.exe list

无法加载 的服务索引 来源 https://asd.ca/api/feeds。 一个错误 在发送请求时发生。 基础连接是 已关闭:无法为 SSL/TLS 安全建立信任关系 渠道。 根据 验证程序。

请注意,我不打算上传新包,只是想恢复我的 .net 包。

我认为此问题与您的 NuGet 包源源https://asd.ca/api/feeds或由于某些原因而与之冲突的某些设置有关。

您可以尝试以下步骤:

首先,请确保您可以访问https://asd.ca/api/feeds,并且可以从中获取任何请求,并排查不是源地址的问题。

其次,打开 VS 并确保在Tools-->Options-->Nuget Package Manager-->Package Source下选中 URLhttps://asd.ca/api/feeds,并检查用于还原解决方案的 nuget 包的所有 URL。

  1. 清理 NuGet 缓存或删除C:Usersxxxx.nuget下的packages文件夹

  2. 打开"registry editor",然后导航到"ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Client"并将此项的值DisabledByDefault更改为"1"。

  3. 以管理员身份运行 PowerShell,然后键入以下内容:

    reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
    reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32
    

    有关更多信息,您可以参考此链接。

    还可以在PowerShell中尝试此函数:

    nuget trusted-signers Add -Name xxxxxxx(package source name) -ServiceIndex https://asd.ca/api/feeds
    

    您也可以参考此链接。

  4. 尝试在Internet Explorer上更改为使用另一个域,以防当前域受到某些工具的限制。

  5. 转到Settings(PC的全局设置)-->Network and Internet-->Proxy-->自动代理设置-->,然后将Automatically detect settings设置为off

我遇到了同样的问题,我的解决方案是"下载证书并将其添加到Windows证书管理器">

  1. 在浏览器 2 中下载 *.crt 文件
  2. 运行 MMC.EXE
  3. 文件,添加管理单元:证书
  4. 在本地计算机中导入证书 ->受信任的根证书颁发机构
  5. 重新启动

多亏了上面的两个答案,我才能在 Windows 上解决我的问题。我想为其他人添加的唯一问题是检查整个证书验证路径是否有效。这意味着您在上面突出显示的受信任的根证书颁发机构中安装的 DMihaylcihenko 证书的根证书也必须安装在受信任的根证书颁发机构中。否则,证书验证过程将继续失败。

最新更新