.NET8 EntityFrameworkCore连接数据库报错:
An unhandled exception occurred while processing the request.
Win32Exception: 证书链是由不受信任的颁发机构颁发的。
Unknown location
SqlException: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)
Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, bool breakConnection, Action<Action> wrapCloseInAction)
Stack Query Cookies Headers Routing
Win32Exception: 证书链是由不受信任的颁发机构颁发的。
Show raw exception details
SqlException: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)
Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, bool breakConnection, Action<Action> wrapCloseInAction)
Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, bool callerHasConnectionLock, bool asyncClose)
Microsoft.Data.SqlClient.TdsParserStateObject.ThrowExceptionAndWarning(bool callerHasConnectionLock, bool asyncClose)
Microsoft.Data.SqlClient.TdsParserStateObject.SNIWritePacket(PacketHandle packet, out uint sniError, bool canAccumulate, bool callerHasConnectionLock, bool asyncClose)
Microsoft.Data.SqlClient.TdsParserStateObject.WriteSni(bool canAccumulate)
Microsoft.Data.SqlClient.TdsParserStateObject.WritePacket(byte flushMode, bool canAccumulate)
Microsoft.Data.SqlClient.TdsParser.TdsLogin(SqlLogin rec, FeatureExtension requestedFeatures, SessionData recoverySessionData, FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData, SqlConnectionEncryptOption encrypt)
原因
如果满足以下两个条件,则会发生这些错误:
SQL Server 实例的“强制加密”设置为“否”。
客户端连接字符串未显式指定加密属性的值,或者未在 DSN 中显式设置或更新 加密 选项。
发生此错误的原因是客户端驱动程序的默认行为发生了更改。 旧版客户端驱动程序旨在假定默认情况下数据加密为 OFF 。 新驱动程序假定此设置默认为 ON 。 由于数据加密设置为 ON,因此驱动程序会尝试验证服务器的证书,但失败。
解决方案
解决方案 1:使用 Microsoft OLE DB Driver for SQL Server 18.x。 可以从Microsoft OLE DB Driver for SQL Server的发行说明下载驱动程序。
解决方案 2:如果应用程序连接字符串属性已经为“加密/使用数据加密”设置指定了“是”或“必需”值,请将值更改为“否”或“可选”。 例如, 对数据使用加密=可选。 如果连接字符串未为 “加密/使用数据加密”指定任何值,请在连接字符串中添加 “对数据使用加密=可选 ”。 有关详细信息,请参阅 加密和证书验证。
解决方案 3(推荐): 将 添加到 ;TrustServerCertificate=true 连接字符串。 这将强制客户端在不验证的情况下信任证书。
参考:https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/connect/certificate-chain-not-trusted?tabs=ole-db-driver-19
2
为您推荐
有时,img标签中的src图片加载失败,原来的图片位置会出现一个碎片图标,这样让人很不爽,如何变得美观些呢?可以借用img标签的onerror事件,img标签支持onerror事件,在装载文档或图像的过程中如果发生了错误,就会..
彩虹聚合DNS管理系统 V2.0 版本已更新,该版本新增SSL证书申请与自动部署功能,支持从Let's Encrypt等渠道申请SSL证书,并自动部署到各种面板、云服务商、服务器等,支持CNAME代理功能。支持的SSL证书申请方式:..
使用EntityFramework生成的Sql语句,出现下列异常:异常详细信息: System.ComponentModel.Win32Exception: 等待的操作过时。代码如下:query.Count = items.Count();var result = items.OrderByDescending(m => m.Id..
使用.NET Core做一个爬虫工具,使用HttpClinet下载网页时得到了HttpResponseMessage并且状态是200,但是调用ReadAsStringAsync方法时报错:System.InvalidOperationException: The character set provided in Conten..
使用Blazor,在OnInitialized里执行NavigationManager.NavigateTo("/")的时候报错了:Microsoft.AspNetCore.Components.NavigationException:“Exception_WasThrown”网上看到说这个问题只出现在render-mo..
现在有很多平台可以申请的免费SSL证书让你的网站提供https服务。一些云服务器平台可能也会有一些免费SSL证书的服务。免费SSL证书安全吗?免费SSL证书可以使用,并且在许多情况下是足够安全的。免费SSL证书可以通过Le..
.NET架构师可以考的证书有很多,具体取决于个人的职业目标和经验水平。以下是一些比较常见的证书:微软认证 .NET架构师(MCSD):这是微软认证体系中最高的级别的证书,考察的是候选人在.NET架构领域的全面知识和技..
为网站配置证书是确保您的网站安全可靠的重要步骤。在Windows服务器上,IIS(Internet Information Services)是一个流行的Web服务器,本文将介绍如何为IIS配置证书。此教程为在Windows Server操作系统上使用IIS的配..
在Linux系统上配置证书,实现https访问,一般需要以下几个步骤:获取证书要启用https,需要在服务器上安装SSL/TLS证书。您可以从商业证书颁发机构(CA)购买证书,或使用免费的Let's Encrypt证书。可以使用certb..
问题VMware虚拟机如果未正常退出,下一次再次打开可能会提示如下错误:该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消©”按钮以防损坏。配置文件: D:\..
2024年程序员最值得考的几个证书包括:AWS Certified Solutions Architect - Associate:该证书证明您具有设计、部署和管理 Amazon Web Services (AWS) 解决方案的能力。它是云计算领域的入门级证书,对任何希望在云..
在本机上使用IIS (Internet Information Services) 为网站使用自签名证书启用 HTTPS 是可行的。自签名证书在测试和开发环境中非常有用,但在生产环境中不建议使用,因为它们不受受信任的证书颁发机构 (CA) 签名,会..
问题描述在Linux中编译libxml的源码时,报错如下:In function open,inlined from xmlNanoHTTPSave at nanohttp.c:1185:12:/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to __open_missing_mode ..
PMP是智商税吗?为什么IT行业的程序员和非IT行业的人都喜欢考PMP?PMP全称是Project Management Professional,是由项目管理协会发起的项目管理专业人士资格认证,严格评估项目管理人员知识技能是否具有高品质的资格..
问题描述在Ubuntu Linux下编译libxml2源码时,执行./configure时,报如下错误:ltconfig: you must specify a host type if you use --no-verifyTry ltconfig --help for more information.configure: error: libtoo..
CertD 是一个免费全自动申请和部署SSL证书的工具。一、CertD 特性本项目不仅支持证书申请过程自动化,还可以自动化部署证书,让你的证书永不过期。全自动申请证书(支持阿里云、腾讯云、华为云注册的域名)全自动部..
最近在OpenSUSE要开发一个内核模块,一开始执行编译时报错:make[1]: *** /lib/modules/4.12.14-lp151.28.91-default/build/: 没有那个文件或目录。 停止。看起来是没有内核模块和源码导致的,于是执行了下面的安装..
在计算机IT行业,拥有高含金量的证书对于求职和职业发展至关重要。市场需求和就业市场的变化使得以下列出的十大证书排名成为当前最具吸引力和价值的目标。第1名:MCSE — 微软认证的系统工程师之巅峰MCSE(Micr..
SSL证书是网站安全的标志,它通过加密网站与用户之间的通信,保护用户数据的安全。SSL证书由权威的认证机构颁发,具有一定的信任度。SSL证书的原理是利用非对称加密和对称加密结合的方式,实现服务器与客户端之间的..
SSL(Secure Sockets Layer)域名证书,也被称为数字证书,是一种安全协议,其作用主要体现在以下几个方面:加密传输:SSL证书最主要的作用是建立一个加密的连接,确保客户端和服务器之间传输的数据在互联网传输过程..