Share via


Fout 'De certificaatketen is uitgegeven door een instantie die niet wordt vertrouwd' na het upgraden van SNAC-toepassingen

Samenvatting

Dit artikel helpt u bij het oplossen van fouten met certificaatketenvertrouwen die optreden wanneer u databasetoepassingen bijwerken van SQL Server Native Client 11.0 (SNAC) naar Microsoft OLE DB-stuurprogramma 19 of Microsoft ODBC-stuurprogramma 18 voor SQL Server.

Wanneer u een upgrade uitvoert van SNAC 11.0 naar nieuwere stuurprogramma's, kunnen uw toepassingen geen verbinding maken met SQL Server met vertrouwensfouten in de certificaatketen. Dit probleem treedt op omdat de nieuwere stuurprogramma's standaard versleuteling inschakelen en certificaatvalidatie vereisen, terwijl SNAC deze standaard heeft uitgeschakeld. In dit artikel wordt uitgelegd waarom deze fouten optreden en oplossingen biedt om deze op te lossen.

Nadat u een upgrade hebt uitgevoerd van SQL Server Native Client 11.0 (Provider=SQLNCLI11) naar Microsoft OLE DB Driver 19 voor SQL Server, kunnen verbindingspogingen mislukken met het volgende foutbericht:

[Microsoft OLE DB-stuurprogramma 19 voor SQL Server]: Client kan geen verbinding tot stand brengen

[Microsoft OLE DB-stuurprogramma 19 voor SQL Server]: SSL-provider: de certificaatketen is uitgegeven door een instantie die niet wordt vertrouwd.

Oorzaak van vertrouwensfout in certificaatketen bij het upgraden naar Microsoft OLE DB-stuurprogramma 19

Deze fout geeft aan dat de clientcomputer de echtheid van het SQL Server-certificaat niet kan verifiëren omdat het is uitgegeven door een certificeringsinstantie (CA) die de client niet vertrouwt.

Deze fouten treden op als aan beide van de volgende voorwaarden wordt voldaan:

  • De instelling Versleuteling afdwingen voor het SQL Server-exemplaar is ingesteld op Nee.

  • De clientverbindingsreeks geeft niet expliciet een waarde op voor de versleutelingseigenschap of de optie Versleuteling is niet expliciet ingesteld of bijgewerkt in de DSN.

De fout treedt op vanwege een wijziging in het standaardgedrag van de clientstuurprogramma's. Bij oudere versies van clientstuurprogramma's wordt ervan uitgegaan dat gegevensversleuteling standaard is uitgeschakeld . Bij de nieuwe stuurprogramma's wordt ervan uitgegaan dat deze instelling standaard is ingeschakeld . Omdat gegevensversleuteling is ingeschakeld, probeert het stuurprogramma het certificaat van de server te valideren en mislukt het.

Oplossingen voor vertrouwensfout in certificaatketen bij het upgraden naar Microsoft OLE DB-stuurprogramma 19

OLE DB-stuurprogramma 18.x gebruiken

Microsoft OLE DB-stuurprogramma voor SQL Server 18.x gebruiken. U kunt het stuurprogramma downloaden uit releaseopmerkingen voor het Microsoft OLE DB-stuurprogramma voor SQL Server.

Verplichte versleuteling uitschakelen voor OLE DB

Wijzig de versleutelingsinstellingen in uw verbindingsreeks:

  • Als de eigenschap van de toepassingsverbindingsreeks al een waarde van Yes of Mandatory voor de Encrypt/Use Encryption for Data instelling opgeeft, wijzigt u de waarde in No of Optional. Bijvoorbeeld: Use Encryption for Data=Optional.
  • Als de verbindingsreeks geen waarde opgeeft voor Encrypt/Use Encryption for Data, voegt u deze toe Use Encryption for Data=Optional aan de verbindingsreeks.

Zie Versleuteling en certificaatvalidatie voor meer informatie.

Vertrouw het servercertificaat zonder validatie

Toevoegen ;TrustServerCertificate=true aan de SQL Server-verbindingsreeks. Met deze instelling moet de client het certificaat zonder validatie vertrouwen.

Notitie

Op dit moment voorkomt MSOLEDBSQL19 het maken van gekoppelde servers zonder versleuteling en een vertrouwd certificaat (een zelfondertekend certificaat is onvoldoende). Als u gekoppelde servers nodig hebt, gebruikt u de bestaande ondersteunde versie van MSOLEDBSQL.