Freigeben über


Fehler "Das vom Remoteserver empfangene Zertifikat wurde von einer nicht vertrauenswürdigen Zertifizierungsstelle ausgegeben", wenn Sie eine Verbindung mit SQL Server herstellen.

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

Symptome

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

Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber dann trat während des Anmeldevorgangs ein Fehler auf. (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 Bescheinigungstyp Zertifizierungsstelle, die im Speicher für vertrauenswürdige Stammzertifizierungsstellen vorhanden ist
1 Ja No Sie stellen ein Zertifikat von einer nicht vertrauenswürdigen Quelle bereit (die Zertifizierungsstelle ist nicht als vertrauenswürdige Autorität in vertrauenswürdigen Stammzertifizierungsstellen auf dem Clientcomputer aufgeführt). No
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 Zertifikat für öffentliche Schlüssel an den Client. Der Aussteller eines Zertifikats für öffentliche Schlüssel wird als Zertifizierungsstelle 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 vorherigen beiden Fällen, erhalten Sie die im Abschnitt "Symptome" aufgeführte Fehlermeldung.

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 die Zertifizierungsstelle für Szenario 1 dem Speicher für vertrauenswürdige Stammzertifizierungsstellen auf dem Clientcomputer hinzu, auf dem die verschlüsselte Verbindung initiiert wird. Führen Sie dazu das Exportieren des Serverzertifikats aus, und installieren Sie die Stammzertifizierungsstelle (Ca) auf den Verfahren des Clientcomputers , die in den nächsten Abschnitten in dieser Sequenz aufgeführt sind.

Exportieren des Serverzertifikats

Im Beispiel wird eine Datei mit dem Namen caCert.cer als Zertifikatdatei verwendet. Sie müssen diese Zertifikatsdatei vom Server abrufen. In 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 die Abkürzung für Microsoft Management Console.)

  2. Öffnen Sie in MMC die Zertifikate.

  3. Erweitern Sie Eigene Zertifikate und dann 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. Bestätigen Sie, dass Nein, der private Schlüssel nicht exportiert wird, 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-In "Computerkonto" und dann "Weiter" aus.

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

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

  5. Erweitern Sie im linken Bereich von 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" aus, und wählen Sie dann "Importieren" aus.

  7. Wählen Sie im Zertifikatimport-Assistenten auf der Willkommensseite "Weiter" aus.

  8. Wählen Sie auf der Seite "Zu importierende Datei" die 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 "Datei zum Importieren" die 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ßen" die Option "Fertig stellen" aus.

Legen Sie für Szenarien 1 und 2 die Einstellung "Trust Server Certificate " in Ihrer Clientanwendung auf "true " fest.

Weitere Informationen dazu finden Sie in den folgenden Themen:

Notiz

Wenn Sie eine Verbindung mit SQL Server mit SQL Server Management Studio herstellen, wählen Sie im Fenster "Verbindung mit Server verbinden" die Registerkarte "Optionen" aus, und wählen Sie dann die Option "Serverzertifikat vertrauen" aus.

Achtung: SSL-Verbindungen, die mit einem selbstsignierten Zertifikat verschlüsselt sind, 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 Configure Server.