Oracle

Configuration des utilitaires pour authentifier les utilisateurs avec des mots de passe Oracle Wallet chiffrés

Vous pouvez configurer la classe AllDBConnector pour utiliser des mots de passe chiffrés qui sont stockés dans un Oracle Wallet afin d'authentifier un utilisateur pour é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 l'utilitaire Oracle mkstore. Pour plus d'informations sur le portefeuille Oracle Wallet et l'exécution des utilitaires Oracle, y compris toute syntaxe d'utilisation mise à jour, voir Oracle Documentation.

Procédure

  1. Créez un portefeuille Oracle avec l'utilitaire Oracle mkstore.
    Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
    mkstore -wrl wallet_directory -create
    
    • 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.
    Par exemple,
    mkstore -wrl wallet.nonssl -create
  2. Ajoutez les données d'identification de l'utilisateur de base de données dans le portefeuille Oracle Wallet pour les utilisateurs que vous souhaitez continuer à envoyer entre les niveaux de client d'utilitaire et le serveur de base de données pour authentifier les utilisateurs.
    Dans un utilitaire de ligne de commande, exécutez la commande suivante à partir du répertoire Oracle bin :
    mkstore -wrl wallet_directory -createCredential tns-name user
    
    • 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.
    • tns-name est l'alias TNS que vous utilisez pour spécifier la base de données dans le fichier tnsnames.ora.
    • user est le nom de l'utilisateur pour lequel vous souhaitez inclure un mot de passe chiffré dans Oracle Wallet.
    Par exemple,
    mkstore -wrl wallet.nonssl -createCredential orcl wcs
    
    L'Oracle Wallet est à présent activé pour prendre en charge l'authentification automatique des utilisateurs wcs sur le nom TNS orcl.
  3. Mettez à jour la configuration de la classe AllDBConnector pour établir une connexion de base de données pour que les utilitaires HCL Commerce utilisent les mots de passe chiffrés dans Oracle Wallet.
    1. Accédez au répertoire suivant et ouvrez le fichier de configuration alldbconnector.xml pour édition.
      • WCDE_installdir\WC\xml\config
    2. Mettez à jour le fichier alldbconnector.xml pour inclure une configuration de remplacement pour savoir comment authentifier les utilisateurs.

      Pour plus d'informations sur les propriétés que vous pouvez inclure dans votre configuration de remplacement dans le fichier alldbconnector.xml, voir Acquisition de connexion de base de données pour les utilitaires et les tâches Ant.

      • Si le type de pilote de base de données Oracle est un pilote léger, la configuration de la classe AllDBConnector mise à jour dans le fichier alldbconnector.xml peut ressembler au fragment de code suivant :
        <override identifier="nonsslwalletauth">
          <property name="oracle.jdbc.J2EE13Compliant" type="java.lang.Boolean" value="true"/>
          <property name="oracle.net.tns_admin" value="Oracle_installdir/db_1/network/admin" scope="system" />
          <property name="oracle.net.wallet_location" value="(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=/home/oracle/wallet.nonssl)))" />
          <jdbcurl value="jdbc:oracle:thin:@orcl" />
          <security providername="oracle.security.pki.OraclePKIProvider" />
          <jar path="Oracle_installdir/db_1/jlib/oraclepki.jar" />
          <jar path="Oracle_installdir/db_1/jlib/osdt_cert.jar" />
          <jar path="Oracle_installdir/db_1/jlib/osdt_core.jar" />
          <ignoreuserpass/>
        </override>