在实时系统中,我们使用以下命令与各种 MSSQL 服务器建立多个连接SqlConnection
C# 中的对象。
由于客户端正在将其 SQL 服务器更新到 TLS 1.2,我想知道是否有办法确定活动连接上正在使用哪种 TLS 实现。
如果可能的话,我希望完全用 C# 来实现这一点,但只要最终结果是一个独立的应用程序,就可以使用替代语言。
这样做的目的是为客户提供一个快速测试工具,有助于确保在对实时系统进行更改之前,软件能够在集成环境中与 TLS 1.2 正常工作。
我花了几个小时研究这个问题,但到目前为止找不到任何有用的东西。我找到的所有资源都是针对 ASP 开发人员的,并没有详细介绍如何在桌面应用程序中直接连接到 SQL 服务器。
该应用程序使用 .NET 4.5,因此 TLS 1.2 应该可用。
非常感谢
为了任何偶然发现这个问题并寻找同一问题解决方案的人的利益,埃德·哈珀发表的评论是正确的 -I don't think there's a way to determine the TLS version in use by a connection from within SQL Server. You might have to resort to packet capture to determine the TLS version
.
使用 .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-builted-tcp-connection https://networkengineering.stackexchange.com/questions/20227/find-ssl-version-in-tcp-packets-in-established-tcp-connection
由于我们的代码是为 .NET 4.5 编写的,因此切换到强制执行 TLS 1.2 不需要任何代码更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)