Résolution de problèmes liés à la clé de chiffrement

Cet article explique comment résoudre les problèmes causés par le déplacement de la clé de chiffrement avec le vidage DB vers l’autre environnement.

Produits et versions concernés

  • Adobe Commerce sur l’infrastructure cloud 2.4.x

Problème

Après avoir importé un vidage de base de données de l’environnement de production vers l’environnement d’évaluation/d’intégration, les numéros de carte de crédit enregistrés apparaissent incorrects et/ou les paiements échouent pour les intégrations de paiement nécessitant l’utilisation des informations d’identification du commerçant.

Cause

La clé de cryptage utilisée pour crypter des données sensibles, telles que les numéros de carte de crédit et les informations d’identification du commerçant, n’est pas stockée dans la base de données et n’est donc pas transférée vers un autre environnement après l’importation/exportation de la base de données.

Solution

Vous devez copier la clé de chiffrement de l’environnement source et l’ajouter à l’environnement de destination.

Pour copier la clé de chiffrement :

  1. SSH à votre projet qui était la source du vidage de la base de données, comme décrit dans SSH to environment dans notre documentation destinée aux développeurs.
  2. Ouvrez app/etc/env.php dans un éditeur de texte.
  3. Copiez la valeur de key pour crypt.
return array ('crypt' =>      array ('key' => '<your encryption key>', ),);

Pour définir la valeur clé du projet de destination :

  1. Ouvrez la console cloud et localisez votre projet.
  2. Définissez la valeur de la variable CRYPT_KEY (dans notre documentation destinée aux développeurs), comme décrit dans la section Configuration de votre projet de notre documentation destinée aux développeurs. Cela déclenchera le processus de déploiement et CRYPT_KEY sera remplacé dans le fichier app/etc/env.php sur chaque déploiement.

Vous pouvez éventuellement remplacer manuellement la clé de chiffrement dans le fichier app/etc/env.php :

  1. SSH vers l’environnement de destination.
  2. Ouvrez app/etc/env.php dans un éditeur de texte.
  3. Collez les données copiées en tant que valeur key pour crypt.
  4. Enregistrez le env.php modifié.
  5. Nettoyez le cache sur l’environnement de destination en exécutant bin/magento cache:clean ou dans l’administrateur Commerce sous System > Tools > Cache Management.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a