【问题标题】:Entity Framework Core 7 connection certificate trust exceptionEntity Framework Core 7 连接证书信任异常
【发布时间】:2023-01-05 05:27:36
【问题描述】:

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

【问题讨论】:

    标签: ssl exception entity-framework-core connection-string


    【解决方案1】:

    这不是 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/breaking-changes

    【讨论】:

    • "DefaultConnection": "server=localhost\SQLEXPRESS;database=db;trusted_connection=true;encrypt=false" 添加 encrypt=false 解决了问题。谢谢!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我做了同样的事情,所以我可以继续工作。我想我将不得不等待 EF Core 7 更新..
      • 这不是错误,更新不会解决这个问题,您应该更新到版本 7,并禁用加密请看我下面的回答。
      【解决方案4】:

      似乎答案是等待 EF Core 7 的更新。这应该是一个错误。我的开发全部在一台带有 SQL Server Development Edition 实例的机器上进行。我想使用 localdb 可能是一种方法。

      【讨论】:

      • 我有两个针对同一个 SQL Server 数据库运行的解决方案。一种是 ASP.NET Core 7 解决方案,它可以毫无问题地使用 EF Core 7。在用户机密中使用连接字符串。另一个是 .NET Core 7 控制台应用程序,它使用 EF Core Power Tools 对数据库进行逆向工程。该版本在连接数据库时出现证书链错误。我将其回滚到 EF Core 6.0.11 以使其正常工作。我不知道这两种解决方案之间存在什么问题,但我将其包含在此处以供记录。也许有人可以启发我了解正在发生的事情。
      【解决方案5】:

      在连接字符串中添加 Encrypt=False 后,它解决了问题。

      【讨论】:

        猜你喜欢
        • 2019-02-19
        • 1970-01-01
        • 2018-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多