Résoudre les problèmes liés à la clé de chiffrement
Lorsque vous importez une image mémoire de base de données dans un autre environnement, la clé de chiffrement reste dans l’environnement source. Cet article explique comment transférer la clé de chiffrement pour résoudre les problèmes de paiement et de données enregistrées.
Description description
Environnement
Adobe Commerce sur l’infrastructure cloud 2.4.x
Problème/Symptômes
Après avoir importé un image mémoire de base de données de la production vers des environnements d’évaluation/d’intégration, vous rencontrez un ou plusieurs des problèmes suivants :
- Les numéros de carte de crédit enregistrés apparaissent incorrects
- Les paiements échouent pour les intégrations de paiements qui nécessitent des informations d’identification de commerçant
- Les données de mode de paiement stockées sont endommagées
Cause
La clé de chiffrement utilisée pour chiffrer des données sensibles (telles que les numéros de carte de crédit et les informations d’identification des commerçants) n’est pas stockée dans la base de données. Par conséquent, il n’est pas transféré à d’autres environnements lorsque vous importez ou exportez une image mémoire de base de données.
Résolution resolution
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 vers votre projet qui était la source de l’image mémoire de la base de données, comme décrit dans SSH vers l’environnement dans notre documentation destinée aux développeurs.
- Ouvrez
app/etc/env.phpdans un éditeur de texte. - Copiez la valeur de
keypourcrypt.
return array(
'crypt' => array(
'key' => '',
),
);
Pour définir la valeur de clé du projet de destination :
- Ouvrez la console cloud et recherchez votre projet.
- Définissez la valeur de la variable CRYPT_KEY (dans notre documentation destinée aux développeurs), comme décrit dans Configurer votre projet dans notre documentation destinée aux développeurs. Cela déclenchera le processus de déploiement et
CRYPT_KEYsera remplacé dans le fichierapp/etc/env.phpà 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.phpdans un éditeur de texte. - Collez les données copiées en tant que valeur
keypourcrypt. - Enregistrez le
env.phpmodifié. - Nettoyez le cache de l’environnement de destination en exécutant
bin/magentocache:cleanou dans l’Administration Commerce sous Système.>Outils>Gestion du cache.