Configuration d’une connexion SSL via JDBC - Amazon Relational Database Service

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.

Configuration d’une connexion SSL via JDBC

Pour utiliser une connexion SSL via JDBC, vous devez créer un keystore, approuver le certificat d'autorité de certification racine Amazon RDS et utiliser l'extrait de code suivant.

Pour créer le magasin de clés au format JKS, vous pouvez utiliser la commande suivante. Pour plus d’informations sur la création du magasin de clés, consultez Creating a keystore dans la documentation Oracle. Pour des informations de référence, consultez keytool dans le manuel Java Platform, Standard Edition Tools Reference.

keytool -genkey -alias client -validity 365 -keyalg RSA -keystore clientkeystore

Suivez les étapes ci-après pour approuver le certificat CA racine Amazon RDS.

Pour approuver le certificat de l'autorité de certification racine Amazon RDS
  1. Téléchargez le fichier .pem de l’offre groupée de certificats qui fonctionne pour toutes les Régions AWS et placez le fichier dans le répertoire ssl_wallet.

    Pour plus d’informations sur le téléchargement de certificats, consultez .

  2. Extrayez chaque certificat du fichier .pem dans un fichier distinct à l’aide d’un utilitaire du système d’exploitation.

  3. Convertissez chaque certificat au format .der à l’aide d’une commande openssl distincte, en remplaçant certificate-pem-file par le nom du fichier .pem du certificat (sans l’extension .pem).

    openssl x509 -outform der -in certificate-pem-file.pem -out certificate-pem-file.der
  4. Importez le certificat dans le magasin de clés à l’aide de la commande suivante.

    keytool -import -alias rds-root -keystore clientkeystore.jks -file certificate-pem-file.der

    Pour plus d’informations, consultez Rotation de votre certificat SSL/TLS.

  5. Vérifiez que le magasin de clés a été créé avec succès.

    keytool -list -v -keystore clientkeystore.jks

    Entrez le mot de passe du magasin de clés lorsque vous y êtes invité.

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 } }
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.