gpt4 book ai didi

c# - 从已建立的 SqlConnection 确定 TLS 版本

转载 作者:行者123 更新时间:2023-11-30 17:33:56 25 4
gpt4 key购买 nike

在实时系统中,我们使用 C# 中的 SqlConnection 对象与各种 MSSQL 服务器建立多个连接。

由于客户端正在将其 SQL 服务器更新到 TLS 1.2,我想知道是否有一种方法可以确定事件连接上正在使用哪种 TLS 实现。

如果可能的话,我希望完全用 C# 实现,但也可以使用其他语言,只要最终结果是自包含应用程序即可。

这样做的目的是为客户提供一个快速测试工具,这将有助于确保软件在对实时系统进行更改之前在集成环境中与 TLS 1.2 一起正常工作。

我花了几个小时研究这个,但到目前为止我找不到任何有用的东西。我找到的所有资源都是针对 ASP 开发人员的,不会详细介绍如何在桌面应用程序中直接连接到 SQL 服务器。

应用程序使用的是 .NET 4.5,因此 TLS 1.2 应该可用。

非常感谢

最佳答案

为了任何偶然发现这个问题并寻找同一问题的解决方案的人的利益,Ed Harper 发表的评论是正确的 - 我认为没有办法确定所使用的 TLS 版本来自 SQL Server 内部的连接。您可能必须借助数据包捕获来确定 TLS 版本

使用 .NET 4.5 及更高版本时,支持 TLS 1.2,如果与明确指定 TLS 1.2 的服务建立连接,连接应该可以正常工作。

由于 TLS 适用于传输 OSI 层,数据包捕获是确认 TLS 版本的正确方法,正如 Ed Harper 发布的链接中所述 - https://networkengineering.stackexchange.com/questions/20227/find-ssl-version-in-tcp-packets-in-established-tcp-connection

由于我们的代码是为 .NET 4.5 编写的,因此强制执行 TLS 1.2 的切换不需要任何代码更改。

关于c# - 从已建立的 SqlConnection 确定 TLS 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43117949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com