【问题标题】:Use TLS 1.1 or 1.2 in WCF and .NET 4.0?在 WCF 和 .NET 4.0 中使用 TLS 1.1 或 1.2?
【发布时间】:2018-07-24 23:06:45
【问题描述】:

我有一个使用 WCF 的服务器服务和一个客户端服务,它们都使用 C# 构建,带有 .NET 版本 4.0 和 Visual Studio 2010。

我在服务器上创建并安装了自签名 SSL 和 CA 证书。到目前为止,一切都很好。一切正常。客户端服务能够与来自不同机器的服务器服务进行通信。

但是,连接详细信息显示它正在使用 TLS 1.0。

有没有办法使用 DotNet 4.0 实现 TLS 1.1 或 1.2?似乎没有,但我希望有人有一种对他们有用的技术。

【问题讨论】:

标签: c# windows wcf visual-studio-2010 ssl


【解决方案1】:

是的,可以在以 .NET Framework 4.0 为目标的 .NET 应用程序中使用 TLS 1.1 和 1.2,但您需要安装 .NET 4.6(您不需要在应用程序中以 4.6 为目标)。 TLS 1.2 已添加到 .NET 4.5,但如果不更改代码,将无法使用 TLS 1.2。

如果您希望现有的 .NET 4.0 代码使用 TLS 1.2,您将需要以下内容:

  1. 安装 .NET Framework 4.6 或更高版本。这是默认情况下使用 TLS 1.2 作为协议并结合适当的 Windows 注册表项所必需的。

  2. 设置如下.NET Framework strong cryptography registry keys:

在 32 位和 64 位版本的 Windows 上: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

在 64 位版本的 Windows 上: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

WOW6432Node 值由 32 位应用程序在 64 位系统上运行时使用。

欲了解更多信息,请参阅:https://github.com/TheLevelUp/pos-tls-patcher

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-27
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2017-08-08
    • 2016-10-07
    • 2017-05-26
    相关资源
    最近更新 更多