我
using Microsoft.Data.SqlClient
负责处理MS SQL-Server连接。
现在,出于调试原因,我需要暂时禁用 SqlConnection
的 TLS 加密,以便我可以使用wireshark 对其进行监控。
在连接字符串中设置“encrypt=false”没有效果。由于 SQL Server 实例不在我的职责范围内,我无法修改其中的任何内容。
有办法禁用连接安全吗?
要禁用 TLS 1.2 协议,请在相应的子项中创建一个
Enabled
条目。默认情况下,注册表中不存在此条目。创建条目后,将 DWORD 值更改为 0。要启用该协议,请将 DWORD 值更改为 1。
TLS 1.2 的注册表路径:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
TLS 1.2 子密钥表:
这是 C# 示例代码:
string subkeyTLS = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2";
Registry.SetValue(subkeyTLS, "DisabledByDefault", 0, RegistryValueKind.DWord);
Registry.SetValue(subkeyTLS, "Enabled", 0, RegistryValueKind.DWord);
string subkeyTLSClient = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client";
Registry.SetValue(subkeyTLSClient, "DisabledByDefault", 0, RegistryValueKind.DWord);
Registry.SetValue(subkeyTLSClient, "Enabled", 0, RegistryValueKind.DWord);