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 :
- 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.
- Ouvrez
app/etc/env.php
dans un éditeur de texte. - Copiez la valeur de
key
pourcrypt
.
return array ('crypt' => array ('key' => '<your encryption key>', ),);
Pour définir la valeur clé du projet de destination :
- Ouvrez la console cloud et localisez votre projet.
- 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 fichierapp/etc/env.php
sur chaque déploiement.
Vous pouvez éventuellement remplacer manuellement la clé de chiffrement dans le fichier app/etc/env.php
:
- SSH vers l’environnement de destination.
- Ouvrez
app/etc/env.php
dans un éditeur de texte. - Collez les données copiées en tant que valeur
key
pourcrypt
. - Enregistrez le
env.php
modifié. - 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.