为了账号安全,请及时绑定邮箱和手机立即绑定

更新.NET Web服务以使用TLS 1.2

更新.NET Web服务以使用TLS 1.2

白衣非少年 2019-11-11 16:08:01
我需要使用TLS 1.2从我的.NET Web服务连接到另一个将强制使用TLS 1.2的服务。我发现一个资源,该资源说.NET 4.6默认使用TLS 1.2,听起来像是最简单的解决方案。我更新了服务器上的.NET框架,然后重新启动。在IIS中,我尝试使用.NET 4.6创建应用程序池,但4.0是唯一的选择。然后我发现一些东西说它仍然会说4.0,因为4.6是对.NET 4.0的“到位”更新。所以我想也许我已经完成了。但是,由于不相关的原因而在错误页面上显示了错误消息,Microsoft .NET Framework Version:4.0.30319因此看来我没有成功升级。关于如何确保我的应用程序池正在使用.NET 4.6的任何指针,或更笼统地说,如何启用TLS 1.2?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

实际上,我们只是将.NET Web服务升级到4.6以允许TLS 1.2。


Artem所说的是我们已经完成的第一步。我们将Web服务的框架重新编译为4.6,并尝试更改注册表项以启用TLS 1.2,尽管此操作不起作用:连接仍在TLS 1.0中。另外,我们也不想在计算机上禁止SLL 3.0,TLS 1.0或TLS 1.1:其他Web服务可能正在使用它;我们在注册表上回滚了所做的更改。


实际上,我们将Web.Config文件更改为告诉IIS:“嘿,请以4.6运行我”。


这是我们在.NET 4.6中的web.config +重新编译中添加的更改:


<system.web>

    <compilation targetFramework="4.6"/> <!-- Changed framework 4.0 to 4.6 -->


    <!--Added this httpRuntime -->

    <httpRuntime targetFramework="4.6" />


    <authentication mode="Windows"/>

    <pages controlRenderingCompatibilityVersion="4.0"/>

</system.web>

并且连接更改为TLS 1.2,因为IIS现在正在4.6(显式地)中运行Web服务,并且默认情况下4.6使用TLS 1.2。


查看完整回答
反对 回复 2019-11-11
?
烙印99

TA贡献1829条经验 获得超13个赞

需要三个步骤:

  1. 通过将Enabled=0和添加DisabledByDefault=1到注册表中,将SSL2.0,TLS1.0,TLS1.1明确标记为在服务器计算机上被禁止(完整路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols)。见屏幕了解详情

//img1.sycdn.imooc.com//5dc917300001dfe412810759.jpg

  1. TLS1.2按照1.中的步骤明确启用。分别使用Enabled=1DisabledByDefault=0

注意:验证服务器版本:Windows Server 2003不支持TLS 1.2协议

  1. TLS1.2仅在应用程序级别启用,例如上面建议的@John Wu。

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

希望本指南对您有所帮助。


查看完整回答
反对 回复 2019-11-11
  • 3 回答
  • 0 关注
  • 1056 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信