Entity Framework Core 7 连接证书信任异常

use*_*434 37 ssl connection-string entity-framework-core ef-core-7.0

我最近在开发中升级到 Entity Framework Core 7,遇到异常,“已成功与服务器建立连接,但在登录过程中发生错误。(提供程序:SSL 提供程序,错误:0 - 证书链是由不受信任的机构颁发的。)”我正在使用 Microsoft SQL Server Developer(64 位)。我尝试在 VS2022 服务器资源管理器中进行更改以禁用加密并信任服务器证书,我没有安装证书,但异常仍然存在。在开发过程中如何缓解这种情况?

has*_*ane 79

这不是 EF Core 7.0 中的错误,而是安全性的改进。Microsoft 建议使用以下 3 种解决方案,选择适用于您的解决方案。

  1. 安装有效的证书。
  2. 将 TrustServerCertificate=True 添加到连接字符串
  3. 添加Encrypt=False到连接字符串

旧行为 SqlClient 连接字符串默认使用 Encrypt=False。这允许在本地服务器没有有效证书的开发计算机上进行连接。

新行为 SqlClient 连接字符串默认使用 Encrypt=True。这意味着:

服务器必须配置有效的证书 客户端必须信任此证书 如果不满足这些条件,则会抛出 SqlException。例如:

已成功与服务器建立连接,但登录过程中出现错误。(提供程序:SSL 提供程序,错误:0 - 证书链是由不受信任的机构颁发的。)

https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/writing-changes


MeT*_*KiD 30

Microsoft.EntityFrameworkCore.SqlServer升级后同样问题7.0.0

我通过添加TrustServerCertificate=Yes到 SQL Server 连接字符串来解决这个问题。


小智 -1

我认为它失败了,因为这是最近的更新。我遇到了同样的问题,我修复了它并重新安装了以前的版本(6.0.11)。我希望这个评论对你有帮助。

  • 这不是一个错误,更新不会解决这个问题,你应该更新到版本7,并禁用加密,请看看我下面的答案。 (2认同)