ASP.NET Core 7.0 登录时出错:证书链由不受信任的机构颁发

Fil*_*llo 7 sql-server asp.net-core

我使用 SQL Server 创建了一个简单的 .NET 7.0 应用程序,如果我使用默认的“localdb”,甚至在将其更改为“网络服务器”之后,我会收到以下错误:

证书链是由不受信任的机构颁发的。

我的连接字符串是:

mysqlserver.com;Initial Catalog=db_database;User Id=db_admin;Password=pass123;Persist Security Info=True;Encrypt=true;TrustServerCertificate=yes
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

PS:通过上面的连接字符串,我可以搭建数据库。

小智 11

这是 EF Core 7.0 中的一项重大更改,如下所示: https: //learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/writing-changes

你有两个选择。选项 1:在服务器上安装有效证书https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-sql-server-encryption?view=sql-server-ver16

选项 2:您需要将 TrustServerCertificate 添加为 true 或 Encrypt=False。此选项的缺点是您可能会使服务器处于潜在不安全的状态。

错误的答案是“是”而不是“正确”:

mysqlserver.com;Initial Catalog=db_database;User Id=db_admin;Password=pass123;Persist Security Info=True;Encrypt=true;TrustServerCertificate=yes
Run Code Online (Sandbox Code Playgroud)

正确答案:

mysqlserver.com;Initial Catalog=db_database;User Id=db_admin;Password=pass123;Persist Security Info=True;Encrypt=true;TrustServerCertificate=true;
Run Code Online (Sandbox Code Playgroud)