如何使用 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。
-
清理 NuGet 缓存或删除
C:Usersxxxx.nuget
下的packages
文件夹 -
打开"
registry editor
",然后导航到"ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Client
"并将此项的值DisabledByDefault
更改为"1
"。 -
以管理员身份运行 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
您也可以参考此链接。
-
尝试在Internet Explorer上更改为使用另一个域,以防当前域受到某些工具的限制。
-
转到
Settings
(PC的全局设置)-->Network and Internet
-->Proxy
-->自动代理设置-->,然后将Automatically detect settings
设置为off
。
我遇到了同样的问题,我的解决方案是"下载证书并将其添加到Windows证书管理器">
- 在浏览器 2 中下载 *.crt 文件
- 运行 MMC.EXE
- 文件,添加管理单元:证书
- 在本地计算机中导入证书 ->受信任的根证书颁发机构
- 重新启动
多亏了上面的两个答案,我才能在 Windows 上解决我的问题。我想为其他人添加的唯一问题是检查整个证书验证路径是否有效。这意味着您在上面突出显示的受信任的根证书颁发机构中安装的 DMihaylcihenko 证书的根证书也必须安装在受信任的根证书颁发机构中。否则,证书验证过程将继续失败。