【问题标题】:Selfhosted server and SSL communication over TLS自托管服务器和基于 TLS 的 SSL 通信
【发布时间】:2021-12-25 05:55:03
【问题描述】:

我有一个在 Windows 服务上托管 WebAPI (HttpSelfHostServer) 的应用程序。 通过 SSL 进行通信(本地主机的自签名证书)。 现在我有两种情况:

  1. Windows7 - 调用 API 方法时(例如从浏览器),我看到使用了 TLS 1.0
  2. Windows10 - 相同的调用,但这里有 TLS1.2

在这两种情况下都是同一个应用程序。此外,我在服务的入口点设置了以下属性

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

当我在 Win7 的 IE 上打开任何页面时,我可以看到 TLS1.2 没问题。 我必须做什么才能在 Win7 上的 WebAPI 中强制通过 TLS1.2 进行通信?

有什么想法吗?

【问题讨论】:

  • 调用者应该使用ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 来强制TLS 1.2 连接。要为您的自托管 Web 服务强制实施 TLS 1.2,您应该修改服务器端 TLS 注册表项以禁用旧版本。
  • @LexLi - 你是对的。修改注册表项解决了这个问题。

标签: c# .net ssl asp.net-web-api self-host-webapi


【解决方案1】:

考虑检查您的 Windows 7 机器上是否启用了 TLS 1.1 / 1.2。

示例:[1]:https://help.runbox.com/enabling-tls-1-2-on-windows-7/

如果您不想在注册表中玩游戏,也可以考虑使用 IIS Crypto:

https://www.nartac.com/Products/IISCrypto/

如果您通过远程连接访问这些机器,请小心!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2016-04-20
    • 2015-02-08
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多