

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Aktualisieren von Anwendungen für die Verbindung mit Microsoft SQL Server-DB-Instances unter Verwendung neuer SSL/TLS-Zertifikate
<a name="ssl-certificate-rotation-sqlserver"></a>

Am 13. Januar 2023 veröffentlichte Amazon RDS neue Zertifizierungsstellen-Zertifikate (Certificate Authority, CA) zum Herstellen von Verbindungen mit Ihren RDS-DB-Instances mithilfe von Secure Socket Layer oder Transport Layer Security (SSL/TLS). Im Folgenden finden Sie Informationen dazu, wie Sie Ihre Anwendungen aktualisieren, um die neuen Zertifikate verwenden zu können.

In diesem Thema finden Sie Informationen dazu, wie Sie ermitteln, ob Client-Anwendungen für die Herstellung von Verbindungen mit Ihren DB-Instances SSL/TLS verwenden. Wenn dies der Fall ist, können Sie weiter überprüfen, ob diese Anwendungen zur Herstellung von Verbindungen Zertifikatverifizierungen erfordern. 

**Anmerkung**  
Einige Anwendungen sind so konfiguriert, dass sie nur dann Verbindungen mit SQL-Server-DB-Instances herstellen, wenn sie das Zertifikat auf dem Server erfolgreich identifizieren können.   
Für solche Anwendungen müssen Sie die Trust Stores Ihrer Client-Anwendung aktualisieren, damit diese die neuen CA-Zertifikate enthalten. 

Nach der Aktualisierung der CA-Zertifikate in den Trust Stores Ihrer Client-Anwendung können Sie die Zertifikate auf Ihren DB-Instances rotieren. Es wird nachdrücklich empfohlen, diese Verfahren vor der Implementierung in Produktionsumgebungen in einer Entwicklungs- oder Testumgebung zu testen.

Weitere Informationen zur Zertifikatrotation finden Sie unter [Ihr SSL/TLS Zertifikat rotieren](UsingWithRDS.SSL-certificate-rotation.md). Weitere Informationen zum Herunterladen von Zertifikaten finden Sie unter [](UsingWithRDS.SSL.md). Informationen zum Verwenden von SSL/TLS mit Microsoft SQL Server-DB-Instances finden Sie unter [Verwenden von SSL mit einer Microsoft SQL Server-DB-Instance](SQLServer.Concepts.General.SSL.Using.md).

**Topics**
+ [Ermitteln, ob Anwendungen Verbindungen mit Ihrer Microsoft SQL Server-DB-Instance mithilfe von SSL herstellen](#ssl-certificate-rotation-sqlserver.determining-server)
+ [Ermitteln, ob ein Client zum Herstellen von Verbindungen Zertifikatverifizierungen erfordert](#ssl-certificate-rotation-sqlserver.determining-client)
+ [Aktualisieren des Trust Stores Ihrer Anwendung](#ssl-certificate-rotation-sqlserver.updating-trust-store)

## Ermitteln, ob Anwendungen Verbindungen mit Ihrer Microsoft SQL Server-DB-Instance mithilfe von SSL herstellen
<a name="ssl-certificate-rotation-sqlserver.determining-server"></a>

Prüfen Sie die DB-Instance-Konfiguration auf den Wert des Parameters `rds.force_ssl`. Standardmäßig ist der Parameter `rds.force_ssl` auf 0 (aus) festgelegt. Wenn der Parameter `rds.force_ssl` auf 1 (ein) festgelegt ist, müssen Clients SSL/TLS für Verbindungen verwenden. Weitere Informationen zu Parametergruppen finden Sie unter [Parametergruppen für Amazon RDS](USER_WorkingWithParamGroups.md).

Führen Sie die folgende Abfrage durch, um die aktuelle Verschlüsselungsoption für alle offenen Verbindungen zu einer DB-Instance zu erhalten. Die Spalte `ENCRYPT_OPTION` zeigt `TRUE`, wenn die Verbindung verschlüsselt ist.

```
select SESSION_ID,
    ENCRYPT_OPTION,
    NET_TRANSPORT,
    AUTH_SCHEME
    from SYS.DM_EXEC_CONNECTIONS
```

Diese Abfrage zeigt nur die aktuellen Verbindungen. Sie zeigt nicht, ob Anwendungen, die sich in der Vergangenheit verbunden oder getrennt haben, SSL verwendeten.

## Ermitteln, ob ein Client zum Herstellen von Verbindungen Zertifikatverifizierungen erfordert
<a name="ssl-certificate-rotation-sqlserver.determining-client"></a>

Sie können überprüfen, ob verschiedene Arten von Clients zum Herstellen von Verbindungen Zertifikatverifizierungen erfordern.

**Anmerkung**  
Wenn Sie andere als die aufgeführten Konnektoren verwenden, konsultieren Sie deren Dokumentation für Informationen zur Durchsetzung verschlüsselter Verbindungen. Weitere Informationen finden Sie unter [Verbindungsmodule für Microsoft SQL-Datenbanken](https://docs.microsoft.com/en-us/sql/connect/sql-connection-libraries?view=sql-server-ver15) in der Microsoft SQL Server-Dokumentation.

### SQL Server Management Studio
<a name="ssl-certificate-rotation-sqlserver.determining-client.management-studio"></a>

Prüfen Sie, ob die Verschlüsselung für SQL Server Management Studio-Verbindungen erzwungen wird:

1. Starten Sie SQL Server Management Studio.

1. Geben Sie für **Connect to server (Mit Server verbinden)** die Serverinformationen, den Anmeldebenutzernamen und das Passwort ein.

1. Wählen Sie **Optionen** aus.

1. Prüfen Sie, ob auf der Verbindungsseite **Encrypt connection (Verbindung verschlüsseln)** ausgewählt ist.

Weitere Informationen über SQL Server Management Studio finden Sie unter [SQL Server Management Studio verwenden](http://msdn.microsoft.com/en-us/library/ms174173.aspx).

### Sqlcmd
<a name="ssl-certificate-rotation-sqlserver.determining-client.sqlcmd"></a>

Das folgende Beispiel mit dem `sqlcmd`-Client zeigt, wie die SQL Server-Verbindung eines Skripts überprüft werden kann, um festzustellen, ob für erfolgreiche Verbindungen ein gültiges Zertifikat erforderlich ist. Weitere Informationen finden Sie unter [Herstellen von Verbindungen mit sqlcmd](https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connecting-with-sqlcmd?view=sql-server-ver15) in der Microsoft SQL Server-Dokumentation.

Bei Verwendung von `sqlcmd` erfordert eine SSL-Verbindung die Verifizierung anhand des CA-Serverzertifikats, wenn Sie zum Verschlüsseln von Verbindungen das Befehlsargument `-N` angeben wie im folgenden Beispiel gezeigt.

```
$ sqlcmd -N -S dbinstance.rds.amazon.com -d ExampleDB                     
```

**Anmerkung**  
Wenn `sqlcmd` mit der Option `-C` aufgerufen wird, wird dem Serverzertifikat vertraut, auch wenn dieses nicht mit dem clientseitigen Trust Store übereinstimmt.

### ADO.NET
<a name="ssl-certificate-rotation-sqlserver.determining-client.adonet"></a>

Im folgenden Beispiel stellt die Anwendung Verbindungen über SSL her und das Serverzertifikat muss verifiziert werden.

```
using SQLC = Microsoft.Data.SqlClient;
 
...
 
    static public void Main()  
    {  
        using (var connection = new SQLC.SqlConnection(
            "Server=tcp:dbinstance.rds.amazon.com;" +
            "Database=ExampleDB;User ID=LOGIN_NAME;" +
            "Password=YOUR_PASSWORD;" + 
            "Encrypt=True;TrustServerCertificate=False;"
            ))
        {  
            connection.Open();  
            ...
        }
```

### Java
<a name="ssl-certificate-rotation-sqlserver.determining-client.java"></a>

Im folgenden Beispiel stellt die Anwendung Verbindungen über SSL her und das Serverzertifikat muss verifiziert werden.

```
String connectionUrl =   
    "jdbc:sqlserver://dbinstance.rds.amazon.com;" +  
    "databaseName=ExampleDB;integratedSecurity=true;" +  
    "encrypt=true;trustServerCertificate=false";
```

Zum Aktivieren der SSL-Verschlüsselung für Clients, die Verbindungen über JDBC herstellen, müssen Sie dem Java CA-Zertifikatspeicher möglicherweise das Amazon RDS-Zertifikat hinzufügen. Anweisungen hierzu finden Sie unter [Konfigurieren des Clients für Verschlüsselung](https://docs.microsoft.com/en-us/SQL/connect/jdbc/configuring-the-client-for-ssl-encryption?view=sql-server-2017) in der Microsoft SQL Server-Dokumentation. Sie können den Namen der Datei für das vertrauenswürdige CA-Zertifikat auch direkt bereitstellen, indem Sie der Verbindungszeichenfolge `trustStore=path-to-certificate-trust-store-file` anfügen.

**Anmerkung**  
Wenn Sie in der Verbindungszeichenfolge `TrustServerCertificate=true` (oder entsprechend) verwenden, wird im Verbindungsvorgang die Vertrauenskettenvalidierung übersprungen. In diesem Fall stellt die Anwendung Verbindungen her, auch wenn das Zertifikat nicht verifiziert werden kann. Die Verwendung von `TrustServerCertificate=false` erzwingt die Zertifikatvalidierung und stellt eine bewährte Methode dar.

## Aktualisieren des Trust Stores Ihrer Anwendung
<a name="ssl-certificate-rotation-sqlserver.updating-trust-store"></a>

Sie können den Trust Store für Anwendungen aktualisieren, die Microsoft SQL Server verwenden. Detaillierte Anweisungen finden Sie unter [Verschlüsseln spezifischer Verbindungen](SQLServer.Concepts.General.SSL.Using.md#SQLServer.Concepts.General.SSL.Client). Anweisungen hierzu finden Sie auch unter [Konfigurieren des Clients für Verschlüsselung](https://docs.microsoft.com/en-us/SQL/connect/jdbc/configuring-the-client-for-ssl-encryption?view=sql-server-2017) in der Microsoft SQL Server-Dokumentation.

Wenn Sie ein anderes Betriebssystem als Microsoft Windows verwenden, finden Sie in der Dokumentation der Softwarebverteilung zur SSL/TLS-Implementierung Informationen dazu, wie Sie ein neues CA-Stammzertifikat hinzufügen. OpenSSL und GnuTLS sind Beispiele für verbreitete Optionen. Wenden Sie die Implementierungsmethode an, um das RDS-CA-Stammzertifikat als vertrauenswürdig anzugeben. Microsoft stellt Anweisungen zum Konfigurieren von Zertifikaten auf bestimmten Systemen bereit.

Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter [](UsingWithRDS.SSL.md).

Beispiele für Skripte, die Zertifikate importieren, finden Sie unter [Beispielskript für den Import von Zertifikaten in Ihren Trust Store](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

**Anmerkung**  
Wenn Sie den Trust Store aktualisieren, können Sie ältere Zertifikate beibehalten und die neuen Zertifikate einfach hinzufügen.