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。
TA贡献1829条经验 获得超13个赞
需要三个步骤:
通过将
Enabled=0
和添加DisabledByDefault=1
到注册表中,将SSL2.0,TLS1.0,TLS1.1明确标记为在服务器计算机上被禁止(完整路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
)。见屏幕了解详情
TLS1.2
按照1.中的步骤明确启用。分别使用Enabled=1
和DisabledByDefault=0
。
注意:验证服务器版本:Windows Server 2003
不支持TLS 1.2
协议
TLS1.2
仅在应用程序级别启用,例如上面建议的@John Wu。System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
希望本指南对您有所帮助。
- 3 回答
- 0 关注
- 1056 浏览
添加回答
举报