【问题标题】:How to force usage TLS instead of SSL in .Net如何在 .Net 中强制使用 TLS 而不是 SSL
【发布时间】:2010-09-09 14:22:19
【问题描述】:

如何强制我的 .Net 应用程序使用 TLS 而不是 SSL 与某些 Java Web 服务建立连接? Web 服务的代理是作为标准 Web 参考(不是 WCF)生成的。 Web 服务 url 是 https://........ .

一些细节: 从我的 .Net 4.0 应用程序中,我正在调用托管在 JBoss 和 Redhat 上的 Java Web 服务。 此 Web 服务在 50% 运行时正常工作,发生错误时出现异常消息 '一个现有的连接被远程主机强行关闭'。

当我查看与 WireShark 的网络通信时:

  • 所有错误连接都通过 SSL 'Hello Client' 建立并被重置。
  • 使用 TLSv1 'Hello Client' 建立成功连接

所以强制 .Net 使用 TLS 可以解决这个奇怪的问题。

【问题讨论】:

  • 在很长一段时间后,Java Web 服务的提供者公司承认错误是站在他们这边的,他们在防火墙级别杀死了连接。这是他们防 DDOS 保护功能失常的一部分。

标签: .net web-services ssl


【解决方案1】:

ServicePointManager.SecurityProtocol 开始。这允许设置SecurityProtocolType 值之一:Ssl3Tls,后者记录在案:

指定传输层安全 (TLS) 1.0 安全协议。

TLS 假定正在使用面向连接的协议,通常是 TCP。 TLS 协议在 IETF RFC 2246 中定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2010-10-30
    相关资源
    最近更新 更多