如何使用 Microsoft.Data.SqlClient Version=4.0.0 修复“目标主体名称不正确”错误

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

升级到

Microsoft.Data.SqlClient Version=4.0.0
后出现错误:

与服务器成功建立连接,但随后出现 登录过程中发生错误。 (提供商:SSL 提供商, 错误:0 - 目标主体名称不正确。

我查找了重大更改https://github.com/dotnet/SqlClient/pull/1210,然后在连接字符串中设置

Encrypt=False
,但错误仍然相同。

只有恢复到

2.0.1

错误才消失

有人可以建议如何解决

4.0.0
中的问题吗?

sql-server sqlclient
1个回答
0
投票

AlwaysLearning 在评论中发布了答案:

目标主体名称不正确表示您在服务器中使用的名称或IP地址=...;连接字符串的一部分与 SQL Server 提供的 X.509 证书中的 CommonName 或 subjectAltName 不匹配,这并不奇怪,因为默认情况下,SQL Server 安装时仅使用当前主机名使用自签名证书。如果包含 TrustServerCertificate=False; 错误会消失吗?在(所有)连接字符串中?

啊,替换TrustServerCertificate=False; TrustServerCertificate=True; ...它意味着信任所提供的任何证书,无论 CommonName、SubjectAltName(s) 和证书链如何。

所以答案是

TrustServerCertificate=True

*添加此内容是为了准确表明问题已得到解答。社区 Wiki 不生成积分,因此这并不是试图窃取积分。 AlwaysLearning 应该发布答案以获得积分。

© www.soinside.com 2019 - 2024. All rights reserved.