在 ASP.NET Core 中的 SQL 连接上禁用 TLS

问题描述 投票:0回答:1

using Microsoft.Data.SqlClient
负责处理MS SQL-Server连接。 现在,出于调试原因,我需要暂时禁用
SqlConnection
的 TLS 加密,以便我可以使用wireshark 对其进行监控。

在连接字符串中设置“encrypt=false”没有效果。由于 SQL Server 实例不在我的职责范围内,我无法修改其中的任何内容。

有办法禁用连接安全吗?

c# sql-server asp.net-core connection-string
1个回答
0
投票

根据微软

要禁用 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 子密钥表:

TLS 1.2 subkey table

这是 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);
© www.soinside.com 2019 - 2024. All rights reserved.