首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSBuild还原提供“请求被中止:无法创建SSL/TLS安全通道”。

MSBuild还原提供“请求被中止:无法创建SSL/TLS安全通道”。
EN

Stack Overflow用户
提问于 2021-01-19 08:47:09
回答 1查看 1.5K关注 0票数 0

在我的构建服务器上,我使用一个MSBuild还原任务来在构建之前还原Nuget包,但是我得到了错误:

无法为源https://api.nuget.org/v3/index.json加载服务索引。

发送请求时出错。

请求被中止:无法创建SSL/TLS安全通道。

当我调用Nuget.exe时,它会工作。

MSBuild version = "16.8.2+25e4d540b“服务器相当老,它是一个Windows2008R2 SP1。

我试图检查TLS 1.2是否有问题,所以我运行了一个小程序来测试协议。我从这里得到了代码:https://gist.github.com/zivkan/5291f507c8c5724d41a18357b7afcd30

线程:https://developercommunity.visualstudio.com/content/problem/1096460/nuget-not-working-again-could-not-create-ssltls-se.html

结果是:

不起作用

Ssl2失败

Ssl3失败

Tls失败

默认失败

Tls11失败

Tls12工作过

Tls13失败

这应该是可以的,根据评论。

接下来我应该做什么才能让MSBuild恢复正常工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-20 06:36:04

试试这个:

建议

1),因为您只安装了TLS1.2,而没有安装TLS1.3。试着打开它。在Developer Powershell for VS2019作为管理员下运行以下命令

代码语言:javascript
复制
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:32
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:64

2) (如果第一步不起作用,请尝试以下步骤:

代码语言:javascript
复制
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -Force | Out-Null
    
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null
    
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
    
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -Force | Out-Null
    
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null
    
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.3 has been disabled.'

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65788033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档