【发布时间】:2019-03-02 00:21:39
【问题描述】:
我有一个用 C# 制作的网络服务。它使用其他 Web 服务,但始终使用 SSL3 或 TLS1.0。
我已经像这个链接一样更改了注册表:https://www.derekseaman.com/2010/06/enable-tls-12-aes-256-and-sha-256-in.html#uds-search-results
如果在注册表中,我禁用 TLS1.0,它会尝试使用 SSL3 发出请求,如果我禁用 SSL3,它不会发出请求。如果我只将 TLS1.2 密码放在 gpedit 上,它不会发出请求。我认为 TLS1.2 仅在响应请求时有效,在消费时无效。
这是 IIS 使用的套件密码:
TLS 1.0:
密码套件:TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) 密码套件: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035) 密码套件: TLS_RSA_WITH_RC4_128_SHA (0x0005) 密码套件: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a) 密码套件: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) 密码套件: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) 密码套件: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) 密码套件: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) 密码套件: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032) 密码套件: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038) 密码套件: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013) 密码套件: TLS_RSA_WITH_RC4_128_MD5 (0x0004)
SSL3:
密码套件:TLS_RSA_WITH_RC4_128_SHA (0x0005) 密码套件: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a) 密码套件: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013) 密码套件: TLS_RSA_WITH_RC4_128_MD5 (0x0004) 密码套件: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
如果我使用独立的 c# 应用程序,它使用 TLS1.2,但是当它由 IIS 管理时,不会这样做。
我使用 .NET 3.5,在 .NET4.0 上运行(在项目的属性上,我有 .NET 3.5,在 web.config 上,我有)。这是因为我需要使用 WSE3。 .Net 的运行时为 v4.0.30319
【问题讨论】:
-
您能否使用.NET 4.6 重新编译您的项目?旧框架有一些解决方法,但我一直在走这条路,这不值得。
标签: c# windows-server-2008-r2 tls1.2