Fehler "Das vom Remoteserver empfangene Zertifikat wurde von einer nicht vertrauenswürdigen Zertifizierungsstelle ausgestellt" beim Herstellen einer Verbindung mit SQL Server

Dieser Artikel hilft Ihnen bei der Lösung des Problems, das auftritt, wenn Sie versuchen, eine verschlüsselte Verbindung mit SQL Server herzustellen.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2007728

Problembeschreibung

Wenn dieses Problem auftritt, erhalten Sie möglicherweise die folgende Fehlermeldung:

Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber dann ist während des Anmeldevorgangs ein Fehler aufgetreten. (Anbieter: SSL-Anbieter, Fehler: 0 – Die Zertifikatkette wurde von einer nicht vertrauenswürdigen Autorität ausgestellt.) (.Net SqlClient Datenanbieter)

Zusätzlich wird die folgende Fehlermeldung im Systemereignisprotokoll von Windows protokolliert.

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.

Ursache

Dieser Fehler tritt auf, wenn Sie versuchen, eine verschlüsselte Verbindung mit SQL Server mithilfe eines nicht überprüfbaren Zertifikats herzustellen. Das Problem kann in den folgenden Szenarien auftreten:

Szenario Serverseitige Verschlüsselung Clientseitige Verschlüsselung Zertifikattyp Zertifizierungsstelle, die im Speicher für vertrauenswürdige Stammzertifizierungsstellen vorhanden ist
1 Ja Nein Sie stellen ein Zertifikat aus einer nicht vertrauenswürdigen Quelle bereit (die Zertifizierungsstelle ist auf dem Clientcomputer nicht als vertrauenswürdige Zertifizierungsstelle in vertrauenswürdigen Stammzertifizierungsstellen aufgeführt). Nein
2 Aus Ja SQL Server selbst erzeugtes Zertifikat Selbstsignierte Zertifikate werden in diesem Speicher nicht angezeigt.

Beim Herstellen verschlüsselter Verbindungen mit SQL Server erstellt Secure Channel (Schannel) die Liste der vertrauenswürdigen Zertifizierungsstellen, indem der Speicher der vertrauenswürdigen Stammzertifizierungsstellen auf dem lokalen Computer durchsucht wird. Während des TLS-Handshakes sendet der Server sein öffentliches Schlüsselzertifikat an den Client. Der Herausgeber eines öffentlichen Schlüsselzertifikats wird als Zertifizierungsstelle (Certificate Authority, CA) bezeichnet. Der Client muss sicherstellen, dass es sich bei der Zertifizierungsstelle um eine Stelle handelt, der der Client vertraut. Dies wird erreicht, indem der öffentliche Schlüssel vertrauenswürdiger CAs im Voraus bekannt ist. Wenn Schannel ein Zertifikat erkennt, das von einer nicht vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde, z. B. in den beiden vorherigen Fällen, wird die Im Abschnitt Symptome aufgeführte Fehlermeldung angezeigt.

Lösung

Wenn Sie absichtlich entweder ein Zertifikat von einer nicht vertrauenswürdigen Stelle oder ein selbstsigniertes Zertifikat verwenden, um Verbindungen zu SQL Server zu verschlüsseln, können Sie eine der folgenden Optionen verwenden:

Fügen Sie in Szenario 1 die Zertifizierungsstelle dem Speicher für vertrauenswürdige Stammzertifizierungsstellen auf dem Clientcomputer hinzu, der eine verschlüsselte Verbindung initiiert. Führen Sie dazu die Prozeduren Exportieren des Serverzertifikats und Installieren der Stammzertifizierungsstelle auf dem Clientcomputer aus, die in den nächsten Abschnitten in dieser Sequenz aufgeführt sind.

Exportieren Sie das Serverzertifikat

Im Beispiel wird eine Datei mit dem Namen caCert.cer als Zertifikatdatei verwendet. Sie müssen diese Zertifikatdatei vom Server abrufen. n den folgenden Schritten wird erläutert, wie das Serverzertifikat in eine Datei exportiert wird:

  1. Klicken Sie auf Start, dann auf Ausführen, und geben Sie MMC ein. (MMC ist eine Abkürzung für die Microsoft Management Console.)

  2. Öffnen Sie in MMC die Zertifikate.

  3. Erweitern Sie Persönlich und anschließend Zertifikate.

  4. Klicken Sie mit der rechten Maustaste auf das Serverzertifikat und wählen Sie dann Alle Aufgaben->Exportieren aus.

  5. Klicken Sie auf Weiter, um das Willkommensdialogfeld des Zertifikatexport-Assistenten zu verlassen.

  6. Vergewissern Sie sich , dass Nein, privaten Schlüssel nicht exportieren ausgewählt ist, und wählen Sie dann Weiter aus.

  7. Stellen Sie sicher, dass entweder DER-codierte binäre X.509 (.CER) oder Base-64-codierte X.509 (.CER) ausgewählt ist, und klicken Sie dann auf Weiter.

  8. Geben Sie einen Namen für die Exportdatei ein.

  9. Klicken Sie auf „Weiter“ und dann auf „Fertig stellen“, um das Zertifikat zu exportieren.

Installieren Sie die Stammzertifizierungsstelle (CA) auf dem Clientcomputer

  1. Starten Sie das Zertifikat-Snap-In für MMC auf dem Clientcomputer und fügen Sie dann das Zertifikat-Snap-In hinzu.

  2. Wählen Sie im Dialogfeld Zertifikat-Snap-Indie Option Computerkonto und dann Weiter aus.

  3. Wählen Sie im Bereich Computer auswählendie Option Lokaler Computer: (der Computer, auf dem diese Konsole ausgeführt wird) und dann Fertig stellen aus.

  4. Wählen Sie OK, um das Dialogfeld Snap-Ins hinzufügen oder entfernen zu schließen.

  5. Erweitern Sie im linken Bereich der MMC den Knoten Zertifikate (Lokaler Computer).

  6. Erweitern Sie den Knoten Vertrauenswürdige Stammzertifizierungsstellen , klicken Sie mit der rechten Maustaste auf den Unterordner Zertifikate , wählen Sie Alle Aufgaben und dann Importieren aus.

  7. Wählen Sie im Zertifikatimport-Assistenten auf der Seite Willkommen die Option Weiter aus.

  8. Wählen Sie auf der Seite Zu importierende Dateidie Option Durchsuchen aus.

  9. Navigieren Sie zum Speicherort der caCert.cer Zertifikatdatei, wählen Sie die Datei aus, und wählen Sie dann Öffnen aus.

  10. Wählen Sie auf der Seite Zu importierende Dateidie Option Weiter aus.

  11. Übernehmen Sie auf der Seite Zertifikatspeicher die Standardauswahl, und wählen Sie dann Weiter aus.

  12. Wählen Sie auf der Seite Zertifikatimport-Assistent abschließendie Option Fertig stellen aus.

Legen Sie für die Szenarien 1 und 2 die Einstellung Serverzertifikat vertrauen in Ihrer Clientanwendung auf true fest.

Weitere Informationen dazu finden Sie in den folgenden Themen:

Hinweis

Wenn Sie SQL Server Management Studio verwenden, wählen Sie die Registerkarte Optionen und dann auf der Registerkarte Verbindungseigenschaften die Option Serverzertifikat vertrauen aus.

Vorsicht: SSL-Verbindungen, die mit einem selbstsignierten Zertifikat verschlüsselt werden, bieten keine starke Sicherheit. Sie sind anfällig für man-in-the-middle Angriffe. In Produktionsumgebungen oder auf Servern, die mit dem Internet verbunden sind, sollten Sie sich nicht auf SSL mit selbstsignierten Zertifikaten verlassen.

Wenn die in den vorangegangenen Abschnitten dieses Artikels besprochene Konfiguration unbeabsichtigt ist, können Sie eine der folgenden Optionen anwenden, um dieses Problem zu lösen:

  • Konfigurieren Sie das Datenbankmodul für die Verwendung der Verschlüsselung entsprechend der Prozedur in „Aktivieren verschlüsselter Verbindungen zum Datenbankmodul“.

  • Wenn keine Verschlüsselung erforderlich ist:

    • Deaktivieren Sie die Verschlüsselungseinstellungen (falls vorhanden) in Ihrer Clientanwendung.

    • Deaktivieren Sie die serverseitige Verschlüsselung mit dem SQL Server-Konfigurations-Manager Weitere Informationen dazu finden Sie unter Konfigurieren des Servers.