如何修复 EF Core 迁移"The certificate chain was issued by an authority that is not trusted"



连接字符串:

Data Source=<server>,<port>;Initial Catalog=<database>;User Id=<username>;
Password=<password>?;MultipleActiveResultSets=true;Encrypt=True;
TrustServerCertificate=false;Integrated Security=false;Trusted_Connection=true;
Connection Timeout=30;

我的连接字符串包含:

TrustServerCertificate=false

我得到这个错误:

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

当我有一个连接字符串与此:

TrustServerCertificate=true

我得到:

用户登录失败<username>'。//<--删除了真实用户名

EF Core 7.0突破性更改解决了这一问题。https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/breaking-changes

有三种方法可以继续:

  1. 在服务器上安装一个有效的证书。请注意,这是一个涉及过程,需要获得证书并确保它由客户端信任的权威机构签名
  2. 如果服务器有证书,但不受client,则TrustServerCertificate=True以允许绕过正常信任机制
  3. 将Encrypt=False显式添加到连接字符串中

我遇到了同样的问题,并通过在连接字符串中添加Encrypt=False来解决它。

然后我检查了你的连接字符串,我认为通过将Encrypt值改为False而不是true,它也适用于你。

我在尝试";脚手架";命令进入Nuget控制台。Microsoft.EntityFrameworkCore.Tools和Microsoft.EntityFrameworks Core.QLServer的版本为7.0.0。然后我将这两个包降级到6.0.9版本,一切都很好。

相关内容

  • 没有找到相关文章

最新更新