

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mise à jour des applications pour se connecter aux instances de base de données Oracle à l'aide de nouveaux SSL/TLS certificats
<a name="ssl-certificate-rotation-oracle"></a>

Le 13 janvier 2023, Amazon RDS a publié de nouveaux certificats d'autorité de certification (CA) pour la connexion à vos instances de base de données RDS à l'aide du protocole Secure Socket Layer ou Transport Layer Security (SSL/TLS). Vous trouverez ci-après des informations sur la mise à jour de vos applications afin d’utiliser les nouveaux certificats.

Cette rubrique peut vous aider à déterminer si des applications clientes sont utilisées SSL/TLS pour se connecter à vos instances de base de données. 

**Important**  
Lorsque vous modifiez le certificat d'une instance de base de données Amazon RDS for Oracle, seul le processus d'écoute de base de données est redémarré. L'instance de base de données n'est pas redémarrée. Les connexions de base de données existantes ne sont pas affectées, mais les nouvelles connexions rencontrent des erreurs pendant une brève période au cours du redémarrage du processus d'écoute.  
Nous vous recommandons de redémarrer votre base de données Oracle pour éviter toute erreur de connexion.

**Note**  
Pour les applications clientes qui se connectent SSL/TLS à vos instances de base de données, vous devez mettre à jour les magasins de confiance de vos applications clientes pour inclure les nouveaux certificats CA. 

Une fois que vous avez mis à jour les certificats de l'autorité de certification dans les magasins d'approbations des applications clientes, vous pouvez soumettre les certificats de vos instances de bases de données à une rotation. Nous vous recommandons vivement de tester ces procédures dans un environnement de développement ou intermédiaire avant de les implémenter dans vos environnements de production.

Pour plus d’informations sur la rotation de certificats, consultez [Rotation de votre SSL/TLS certificat](UsingWithRDS.SSL-certificate-rotation.md). Pour en savoir plus sur le téléchargement de certificats, consultez [](UsingWithRDS.SSL.md). Pour plus d'informations sur l'utilisation SSL/TLS avec les instances de base de données Oracle, consultez[Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).

**Topics**
+ [Déterminer si les applications se connectent via SSL](#ssl-certificate-rotation-oracle.determining)
+ [Mise à jour du magasin d’approbations de votre application](#ssl-certificate-rotation-oracle.updating-trust-store)
+ [Exemple de code Java pour l'établissement de connexions SSL](#ssl-certificate-rotation-oracle.java-example)

## Déterminer si les applications se connectent via SSL
<a name="ssl-certificate-rotation-oracle.determining"></a>

Si votre instance de base de données Oracle utilise un groupe d'options avec l'option `SSL` ajoutée, vous pouvez utiliser SSL. Procédez à la vérification en suivant les instructions dans [Liste des options et des paramètres d’options pour un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ListOption). Pour plus d’informations sur l’option `SSL`, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).

Vérifiez le journal d'écouteur afin de déterminer s'il existe des connexions SSL. Voici un exemple de sortie dans un journal d'écouteur.

```
date time * (CONNECT_DATA=(CID=(PROGRAM=program)
(HOST=host)(USER=user))(SID=sid)) * 
(ADDRESS=(PROTOCOL=tcps)(HOST=host)(PORT=port)) * establish * ORCL * 0
```

Lorsque `PROTOCOL` possède la valeur `tcps` pour une entrée, il affiche une connexion SSL. Cependant, quand `HOST` est `127.0.0.1`, vous pouvez ignorer l'entrée. Les connexions provenant de `127.0.0.1` sont un agent de gestion locale sur l'instance de base de données. Il ne s'agit pas de connexions SSL externes. Par conséquent, vous avez des applications se connectant à l'aide d'un protocole SSL si vous voyez des entrées de journal d'écouteur pour lesquelles `PROTOCOL` est `tcps` et `HOST` n'est *pas* `127.0.0.1`.

Pour consulter le journal de l'écouteur, vous pouvez le publier sur Amazon CloudWatch Logs. Pour de plus amples informations, veuillez consulter [Publication de journaux Oracle sur Amazon CloudWatch Logs](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Oracle.PublishtoCloudWatchLogs).

## Mise à jour du magasin d’approbations de votre application
<a name="ssl-certificate-rotation-oracle.updating-trust-store"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent SQL\$1Plus ou JDBC pour les connexions. SSL/TLS 

### Mise à jour du magasin d'approbations des applications pour SQL\$1Plus
<a name="ssl-certificate-rotation-oracle.updating-trust-store.sqlplus"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent SQL\$1Plus pour les connexions. SSL/TLS 

**Note**  
Lors de la mise à jour du magasin d’approbations, vous pouvez conserver les certificats plus anciens en complément de l’ajout des nouveaux certificats.

**Pour mettre à jour le magasin d'approbations pour les applications SQL\$1Plus**

1. Téléchargez le nouveau certificat racine qui fonctionne pour toutes les AWS régions et placez le fichier dans le `ssl_wallet` répertoire.

   Pour plus d'informations sur le téléchargement du certificat racine, consultez [](UsingWithRDS.SSL.md).

1. Exécutez la commande suivante afin de mettre à jour le portefeuille Oracle.

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         $ORACLE_HOME/ssl_wallet/ssl-cert.pem -auto_login_only
   ```

   Remplacez le nom du fichier par celui du fichier téléchargé.

1. Exécutez la commande suivante pour vérifier que le portefeuille a été installé avec succès.

   ```
   prompt>orapki wallet display -wallet $ORACLE_HOME/ssl_wallet                     
   ```

   La sortie doit contenir les lignes suivantes :

   ```
   Trusted Certificates: 
   Subject: CN=Amazon RDS Root 2019 CA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,L=Seattle,ST=Washington,C=US
   ```

### Mise à jour du magasin d'approbations de votre application pour JDBC
<a name="ssl-certificate-rotation-oracle.updating-trust-store.jdbc"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent JDBC pour les SSL/TLS connexions.

Pour plus d’informations sur le téléchargement du certificat racine, consultez [](UsingWithRDS.SSL.md).

Pour obtenir des exemples de scripts qui importent des certificats, consultez [Exemple de script pour importer les certificats dans votre magasin d’approbations](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

## Exemple de code Java pour l'établissement de connexions SSL
<a name="ssl-certificate-rotation-oracle.java-example"></a>

L’exemple de code suivant montre comment configurer la connexion SSL à l’aide de JDBC.

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class OracleSslConnectionTest {
    private static final String DB_SERVER_NAME = "<dns-name-provided-by-amazon-rds>";
    private static final Integer SSL_PORT = "<ssl-option-port-configured-in-option-group>";
    private static final String DB_SID = "<oracle-sid>";
    private static final String DB_USER = "<user name>";
    private static final String DB_PASSWORD = "<password>";
    // This key store has only the prod root ca.
    private static final String KEY_STORE_FILE_PATH = "<file-path-to-keystore>";
    private static final String KEY_STORE_PASS = "<keystore-password>";
 
    public static void main(String[] args) throws SQLException {
        final Properties properties = new Properties();
        final String connectionString = String.format(
                "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
                DB_SERVER_NAME, SSL_PORT, DB_SID);
        properties.put("user", DB_USER);
        properties.put("password", DB_PASSWORD);
        properties.put("oracle.jdbc.J2EE13Compliant", "true");
        properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
        properties.put("javax.net.ssl.trustStoreType", "JKS");
        properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
        final Connection connection = DriverManager.getConnection(connectionString, properties);
        // If no exception, that means handshake has passed, and an SSL connection can be opened
    }
}
```

**Important**  
Une fois que vous avez déterminé que vos connexions à la base de données utilisent SSL/TLS et que vous avez mis à jour votre magasin de confiance d'applications, vous pouvez mettre à jour votre base de données pour utiliser les certificats rds-ca-rsa 2048-g1. Pour obtenir des instructions, consultez l’étape 3 dans [Mise à jour de votre certificat CA en modifiant votre instance de base de données ou votre cluster](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-updating).