Share via


Fout 'Het certificaat dat is ontvangen van de externe server is uitgegeven door een niet-vertrouwde certificeringsinstantie' wanneer u verbinding maakt met SQL Server

Dit artikel helpt u bij het oplossen van het probleem dat optreedt wanneer u een versleutelde verbinding met SQL Server probeert te maken.

Originele productversie: SQL Server
Origineel KB-nummer: 2007728

Symptomen

Wanneer u verbinding maakt met SQL Server, ontvangt u mogelijk het volgende foutbericht:

Er is een verbinding tot stand gebracht met de server, maar er is een fout opgetreden tijdens het aanmeldingsproces. (provider: SSL-provider, fout: 0 - De certificaatketen is uitgegeven door een autoriteit die niet wordt vertrouwd.) (.Net SqlClient-gegevensprovider)

Daarnaast wordt het volgende foutbericht vastgelegd in het gebeurtenislogboek van Windows System.

Log Name:      System  
Source:        Schannel  
Date:          10/13/2020 3:03:31 PM  
Event ID:      36882  
Task Category: None  
Level:         Error  
Keywords:  
User:        USERNAME  
Computer:     COMPUTERNAME  
Description:  
The certificate received from the remote server was issued by an untrusted certificate authority. Because of this, none of the data contained in the certificate can be validated. The TLS connection request has failed. The attached data contains the server certificate.

Oorzaak

Deze fout treedt op wanneer u een versleutelde verbinding probeert te maken met SQL Server met behulp van een niet-verifieerbaar certificaat. Dit kan gebeuren in de volgende scenario's:

Scenario Versleuteling aan de kant van de server Versleuteling aan de kant van de client Certificaattype Certificeringsinstantie aanwezig in archief vertrouwde basiscertificeringsinstanties
1 Ja Nee U richt een certificaat in vanuit een niet-vertrouwde bron (de certificaatuitgevende instantie wordt niet vermeld als een vertrouwde instantie in Vertrouwde basiscertificeringsinstanties op de clientcomputer) Nee
2 Uit Ja Zelfgegenereerd SQL Server-certificaat Zelfondertekende certificaten worden niet weergegeven in dit archief.

Bij het tot stand brengen van versleutelde verbindingen met SQL Server, maakt Secure Channel (Schannel) de lijst met vertrouwde certificeringsinstanties door te zoeken in het archief met vertrouwde basiscertificeringsinstanties op de lokale computer. Tijdens de TLS-handshake verzendt de server het openbare sleutelcertificaat naar de client. De uitgever van een certificaat met een openbare sleutel wordt een certificeringsinstantie (CA) genoemd. De client moet ervoor zorgen dat de certificeringsinstantie er een is die de client vertrouwt. Dit wordt bereikt door vooraf de openbare sleutel van vertrouwde CA's te kennen. Wanneer Schannel een certificaat detecteert dat is uitgegeven door een niet-vertrouwde certificeringsinstantie, zoals in de vorige twee gevallen, wordt het foutbericht weergegeven in de sectie Symptomen .

Oplossing

Als u opzettelijk een certificaat van een niet-vertrouwde instantie of een zelfondertekend certificaat gebruikt om verbindingen met SQL Server te versleutelen, kunt u een van de volgende opties gebruiken:

Voor scenario 1 voegt u de certificeringsinstantie toe aan het archief Vertrouwde basiscertificeringsinstanties op de clientcomputer die een versleutelde verbinding initieert. Hiervoor voltooit u het servercertificaat exporteren en De basiscertificeringsinstantie (CA) installeren op de clientcomputerprocedures die in de volgende secties in die reeks worden vermeld.

Het servercertificaat exporteren.

In het voorbeeld wordt een bestand met de naam caCert.cer gebruikt als certificaatbestand. U moet dit certificaatbestand ophalen van de server. In de volgende stappen wordt uitgelegd hoe u het servercertificaat naar een bestand exporteert:

  1. Klik op Start en vervolgens op Uitvoeren en typ MMC. (MMC is een acroniem voor Microsoft Management Console.)

  2. Open de Certificaten in MMC.

  3. Vouw Persoonlijk en vervolgens Certificaten uit.

  4. Klik met de rechtermuisknop op het servercertificaat en selecteer vervolgens Alle taken exporteren>.

  5. Klik op Volgende om voorbij het welkomstvenster van de wizard Certificaat exporteren te gaan.

  6. Controleer of Nee, de persoonlijke sleutel niet exporteren is geselecteerd en selecteer vervolgens Volgende.

  7. Zorg ervoor dat DER-gecodeerd binair X.509 (.CER) of Base-64-gecodeerd X.509 (.CER) is geselecteerd en klik vervolgens op Volgende.

  8. Voer een naam voor het exportbestand in.

  9. Klik op Volgende en klik vervolgens op Voltooien om het certificaat te exporteren.

De basiscertificeringsinstantie (CA) installeren op de clientcomputer

  1. Start de module Certificaten voor MMC op de clientcomputer en voeg vervolgens de module Certificaten toe.

  2. Selecteer in het dialoogvenster Certificatenmodulede optie Computeraccount en selecteer vervolgens Volgende.

  3. Selecteer in het deelvenster Computer selecterende optie Lokale computer: (de computer waarop deze console wordt uitgevoerd) en selecteer vervolgens Voltooien.

  4. Kies OK om het dialoogvenster Modules toevoegen of verwijderen te sluiten.

  5. Vouw in het linkerdeelvenster van MMC het knooppunt Certificaten (lokale computer) uit.

  6. Vouw het knooppunt Vertrouwde basiscertificeringsinstanties uit , klik met de rechtermuisknop op de submap Certificaten , selecteer Alle taken en selecteer vervolgens Importeren.

  7. Selecteer in de wizard Certificaat importeren op de welkomstpagina de optie Volgende.

  8. Selecteer op de pagina Bestand om te importerende optie Bladeren.

  9. Blader naar de locatie van het caCert.cer certificaatbestand, selecteer het bestand en selecteer vervolgens Openen.

  10. Selecteer volgende op de pagina Te importeren bestand.

  11. Accepteer de standaardselectie op de pagina Certificaatarchiefen selecteer volgende.

  12. Selecteer Voltooien op de pagina De wizard Certificaat importeren voltooien.

Stel voor scenario's 1 en 2 de instelling Vertrouwensservercertificaat in op true in uw clienttoepassing.

Zie de volgende onderwerpen voor meer informatie over hoe u dit doet:

Opmerking

Als u SQL Server Management Studio gebruikt, selecteert u het tabblad Opties en selecteert u de optie Servercertificaat vertrouwen op het tabblad Verbindingseigenschappen.

Voorzichtigheid: SSL-verbindingen die zijn versleuteld met behulp van een zelfondertekend certificaat bieden geen sterke beveiliging. Ze zijn vatbaar voor aanvallen van man-in-the-middle. Vertrouw niet op SSL met behulp van zelfondertekende certificaten in een productieomgeving of op servers die zijn verbonden met internet.

Als de configuratie die in de vorige secties van dit artikel is besproken onbedoeld is, kunt u een van de volgende opties gebruiken om dit probleem op te lossen:

  • Configureer de database-engine om versleuteling te gebruiken volgens de procedure in Versleutelde verbindingen met de database-engine inschakelen.

  • Als versleuteling niet is vereist:

    • Schakel versleutelingsinstellingen uit (indien aanwezig) in uw clienttoepassing.

    • Schakel versleuteling aan de kant van de server uit met behulp van SQL Server Configuration Manager. Zie Server configureren voor meer informatie over hoe u dit doet.