Configuration d'utilitaires pour authentifier les utilisateurs avec un certificat SSL client et serveur
Vous pouvez configurer la classe AllDBConnector pour utiliser des certificats SSL Oracle Wallet pour authentifier un utilisateur afin d'établir une connexion de base de données pour les utilitaires HCL Commerce.
Pourquoi et quand exécuter cette tâche
Pour effectuer les étapes suivantes, vous devez exécuter les utilitaires Oracle orapki et Listener Control et mettre à jour les fichiers de configuration Oracle. Pour plus d'informations sur la configuration des fichiers Oracle, en exécutant ces utilitaires Oracle, y compris toute syntaxe d'utilisation mise à jour, voir Oracle Documentation.
Remarque : Si vous devez partager des certificats sur plusieurs niveaux du serveur, vous pouvez copier Oracle Wallet d'un niveau de serveur vers les autres niveaux de serveur. Par exemple, pour configurer des utilitaires comme l'utilitaire stagingprop afin qu'ils utilisent un Oracle Wallet pour authentifier les utilisateurs, vous pouvez créer le portefeuille dans votre environnement de transfert, puis copier le portefeuille dans votre environnement de production. Vous devez créer la configuration
override dans le fichier alldbconnector.xml pour les deux environnements. Pour la configuration override de votre environnement de production, utilisez le chemin d'accès vers le portefeuille copié avec la valeur wallet_directory pour la propriété oracle.net.wallet_location.Procédure
Configurez votre serveur de base de données pour utiliser un portefeuille Oracle qui inclut un certificat SSL pour l'authentification.
-
Modifiez l'utilisateur de base de données Oracle afin que l'utilisateur puisse être identifié par un certificat SSL.
Exécutez la commande suivante à partir du répertoire Oracle bin :
sqlplus / as sysdba alter user wcs identified externally as 'CN=oracleuser'; quit;Remarque : Si votre niveau serveur est le même que votre niveau client, assurez-vous que votre DN utilisateur est identique à votre niveau serveur. Par exemple,alter user wcs identified externally as 'CN=server'; -
Créez un portefeuille Oracle avec l'utilitaire Oracle orapki.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
Oùorapki wallet create -wallet wallet_directory -auto_login -pwd wallet_password- wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
c:\server.wallet.Remarque : Assurez-vous que le répertoire que vous définissez comme wallet_directory est lisible et exécutable par les utilisateurs appropriés. - wallet_password est le mot de passe que vous souhaitez définir pour le portefeuille. Par exemple,
s3rv3rp45s.
orapki wallet create -wallet c:\server.wallet -auto_login -pwd s3rv3rp45s - wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
-
Installez le certificat qui est délivré par l'autorité de certification.
Pour plus d'informations sur la création d'une requête de certificat et l'installation du certificat, voir Oracle Documentation.Comme exemple à des fins de test, ajoutez un certificat autosigné à votre portefeuille Oracle pour l'utiliser comme certificat de serveur de base de données. Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
Oùorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password- wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
c:\server.wallet. - dn_name est le nom distinctif du propriétaire du certificat, qui est le nom du serveur de base de données. Par exemple,
CN=server. - wallet_password est le mot de passe que vous souhaitez définir pour le portefeuille. Par exemple,
s3rv3rp45s.
orapki wallet add -wallet c:\server.wallet -dn "CN=server" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd s3rv3rp45s - wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
-
Exportez le certificat SSL pour le niveau serveur de base de données.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
Oùorapki wallet export -wallet wallet_directory -dn "dn_name" -cert certificate_file -pwd wallet_password- wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
c:\server.wallet. - dn_name est le nom distinctif du propriétaire du certificat, qui est le nom du serveur de base de données. Par exemple,
CN=server. - certificate_file est le chemin et le nom du fichier qui doivent être inclus dans le certificat que vous exportez. Par exemple,
c:\server.cert. - wallet_password est le mot de passe que vous souhaitez définir pour le portefeuille. Par exemple,
s3rv3rp45s.
orapki wallet export -wallet c:\server.wallet -dn "CN=server" -cert c:\server.cert -pwd s3rv3rp45s - wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
Configurez votre niveau client pour créer un portefeuille Oracle qui comprend le certificat SSL du serveur de base de données et un certificat SSL pour l'authentification des utilisateurs.
Remarque : Si le niveau client où les utilisateurs exécutent les utilitaires HCL Commerce est le même que le niveau serveur de votre base de données, passez à l'étape 12.
-
Créez un portefeuille Oracle avec l'utilitaire orapki dans votre environnement client.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
orapki wallet create -wallet c:\client.wallet -auto_login -pwd cl13ntp45s -
Importez le certificat SSL à partir du niveau serveur.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
Oùorapki wallet add -wallet wallet_directory -trusted_cert -cert certificate_file -pwd wallet_password- wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
c:\client.wallet. - certificate_file est le chemin et le nom du fichier qui doivent être inclus dans le certificat que vous exportez. Par exemple,
c:\server.cert. - wallet_password est le mot de passe que vous souhaitez définir pour le portefeuille. Par exemple,
cl13ntp45s.
orapki wallet add -wallet c:\client.wallet -dn "CN=server" -cert c:\server.cert -pwd cl13ntp45s - wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
-
Mettez à jour le fichier de configuration Oracle sqlnet.ora pour votre client.
-
Mettez à jour le fichier de configuration tnsnames.ora d'Oracle.
-
Installez le certificat qui est délivré par l'autorité de certification.
Pour plus d'informations sur la création d'une requête de certificat et l'installation du certificat, voir Oracle Documentation.Comme exemple à des fins de test, ajoutez un certificat autosigné au portefeuille de niveau client pour l'utiliser comme certificat utilisateur. Si votre client est identique à votre serveur, ajoutez le certificat à votre portefeuille de niveau serveur. Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
Oùorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password- wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
c:\client.wallet. - dn_name est le nom distinctif du propriétaire du certificat, qui est le nom du serveur de base de données. Par exemple,
CN=server. - wallet_password est le mot de passe que vous souhaitez définir pour le portefeuille. Par exemple,
cl13ntp45s.
orapki wallet add -wallet c:\client.wallet -dn "CN=oracleuser" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd cl13ntp45s - wallet_directory est le répertoire dans lequel vous voulez créer le portefeuille. Par exemple,
-
Exportez le certificat SSL utilisateur d'Oracle Wallet du niveau client.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
orapki wallet export -wallet c:\client.wallet -dn "CN=oracleuser" -cert c:\user.cert -pwd cl13ntp45s
Continuez la configuration du niveau serveur de votre base de données.
-
Importez le certificat SSL de l'utilisateur à partir de votre Oracle Wallet de niveau client dans Oracle Wallet de niveau serveur.
Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
orapki wallet add -wallet c:\server.wallet -trusted_cert -cert c:\user.cert -pwd s3rv3rp45s -
Arrêtez votre base de données Oracle en exécutant la commande suivante à partir du répertoire Oracle bin :
sqlplus / as sysdba shutdown immediate; quit; -
Arrêtez l'écouteur Oracle avec l'utilitaire de contrôle de l'écouteur Oracle en exécutant la commande suivante à partir du répertoire Oracle bin :
lsnrctl stop -
Mettez à jour le fichier de configuration listener.ora de l'écouteur Oracle.
-
Mettez à jour le fichier de configuration sqlnet.ora d'Oracle.
-
Redémarrez l'écouteur Oracle en exécutant la commande suivante à partir du répertoire Oracle bin :
lsnrctl start -
Démarrez votre base de données Oracle en exécutant la commande suivante à partir du répertoire Oracle bin :
sqlplus / as sysdba startup; quit;
Définissez la configuration de la classe AllDBConnector pour établir une connexion de base de données pour que les utilitaires HCL Commerce utilisent le certificat dans le portefeuille Wallet.
-
Mettez à jour le fichier de configuration d'acquisition de connexion de base de données pour assurer que les utilitaires de WebSphere Commerce peuvent authentifier les utilisateurs via Oracle Wallet.
Résultats

stagingprop.sh -sourcedb orasrcwallet -destdb oradestwallet -sourcedb_user randomValue -sourcedb_passwd randomValue -destdb_user randomValue -destdb_passwd randomValue
- orasrcwallet est l'identificateur de la configuration de remplacement pour votre environnement de création ou de transfert.
- oradestwallet est l'identificateur de la configuration de remplacement pour votre environnement de production.
- randomValue est n'importe quelle valeur pour le paramètre spécifié. Avec cette configuration Oracle Wallet, la valeur est ignorée par la classe AllDBConnector et ne sert pas à authentifier l'utilisateur.
