当前位置: 首页 > 知识库问答 >
问题:

在只允许TLS 1.0后,TLS 1.2握手仍然是可能的

湛博易
2023-03-14

我的一位客户在操作系统级别关闭了TLS 1.0。从那以后,与我们产品的连接就不起作用了。客户没有使用的最新版本。NET 4.6.1。

因为我们没有指定使用的协议,所以我们依赖默认值。根据https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre。NET 4.6默认启用TLS 1.2,这将是完美的,也是我们想要的。

为了更好地理解,我想尝试一些配置。我指定只允许TLS 1.0在代码级别使用:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

为了测试握手,我使用了openssl。它完全适用于TLS 1.0,这是应该的。但是令我惊讶的是,握手也适用于TLS 1.2。

$ openssl s_client -connect localhost:30050 -tls1_2
<..snip..>
SSL-Session:
    Protocol  : TLSv1.2
    <..snip..>

有一些吗。我监管的是NET还是TLS规则?据我所知,在将TLS 1.0指定为唯一协议时,TLS 1.2不应成为可能。

共有1个答案

曹旭
2023-03-14

mjwills在评论中问道,SecurityProtocol-属性是否影响入站或出站连接。

经过一些研究后,我发现了一篇文章:如何禁用SSL回退,并在中仅对出站连接使用TLS。网(贵宾犬缓解)有一条评论可以回答这个问题:

如果您从. NET代码启动出站连接,例如从服务器上运行的自定义代码连接到Web服务或API,则只需设置System. Net. ServicePointManager. SecurityProtocol。如果您只运行一个简单的网站,并且只接受来自浏览器的传入连接,则注册表修复就足够了。

 类似资料:
  • 我正在尝试向一个创建自己的wifi热点并且只允许http请求的设备发出http请求。对于Android8和更低的http请求是成功的,但是对于Android9它们是失败的。虽然谷歌Pixel2使用的是Android9,但它似乎能发挥作用。 network_security_config.xml

  • 我的测试程序从以下URL运行HTTP服务器:HTTP://www.herongyang.com/jdk/https-httpsechoer-better-https-server.html 请帮助如何使java只接受TLS1.2连接。

  • 我有一个应用程序与Spring-Boot一起提供服务。我已经为“API/...”添加了一些控制器--这些调用可以执行Angular Frontend需要的不同操作。我如何保护这些URL以便只有我的前端可以访问examlpe.com/api/...而不是每个用户?我不希望任何人能够访问examlpe.com/api/..但是他们应该能够访问example.com。 url example.com/a

  • 在StackOverflow中我知道很多类似的问题,但没有什么能解决我的问题。 IDE显示错误:只允许类位于类文字的左手边 对此如何解决?提前道谢。

  • 问题内容: JLS有两个结论: C1:如果一个程序没有数据争用,则该程序的所有执行将看起来是顺序一致的: C2:如果一个程序正确同步,则该程序的所有执行将看起来是顺序一致的: 如果C1的反事实成立,那么我们可以得出以下结论: C3:如果程序正确同步,则不会出现数据争用: 但不幸的是,JLS中没有这样的声明,因此我得出了第四个结论: C4:程序可以正确同步并具有数据竞争。 但是,我对这种方法不满意,

  • 试图测试从清单引用的Android的网络安全config config XML文件中的不同配置。使用针对Android 9 API 28和Galaxy Nexus Android 9模拟器vis VS 2019的基本新应用程序模板Xamarin.Android应用程序,设置为: > 应用程序级清单设置Android:UsesClearTextTraffic=false 添加一个网络安全配置文件,将