Risolvi i problemi relativi alla chiave di crittografia
Questo articolo illustra come risolvere i problemi causati dal mancato spostamento della chiave di crittografia insieme all’immagine del database nell’altro ambiente.
Prodotti e versioni interessati
- Adobe Commerce sull’infrastruttura cloud 2.4.x
Problema
Dopo aver importato un dump del database dalla produzione agli ambienti di gestione temporanea/integrazione, i numeri di carta di credito salvati appaiono errati e/o i pagamenti non riescono per le integrazioni di pagamento che richiedono l'utilizzo di credenziali esercente.
Causa
La chiave di crittografia utilizzata per crittografare i dati sensibili, come i numeri di carta di credito e le credenziali dell’esercente, non viene memorizzata nel database e pertanto non viene trasferita in un altro ambiente dopo l’importazione/esportazione del dump del database.
Soluzione
È necessario copiare la chiave di crittografia dall'ambiente di origine e aggiungerla all'ambiente di destinazione.
Per copiare la chiave di crittografia:
- SSH al progetto che era l'origine per l'immagine del database, come descritto in SSH all'ambiente nella documentazione per gli sviluppatori.
- Apri
app/etc/env.php
in un editor di testo. - Copia il valore di
key
percrypt
.
return array ('crypt' => array ('key' => '<your encryption key>', ),);
Per impostare il valore chiave per il progetto di destinazione:
- Apri Cloud Console e individua il progetto.
- Imposta il valore della variabile CRYPT_KEY (nella documentazione per gli sviluppatori), come descritto in Configura il progetto nella documentazione per gli sviluppatori. In questo modo verrà attivato il processo di distribuzione e
CRYPT_KEY
verrà sovrascritto nel fileapp/etc/env.php
in ogni distribuzione.
Se necessario, è possibile sovrascrivere manualmente la chiave di crittografia nel file app/etc/env.php
:
- SSH all’ambiente di destinazione.
- Apri
app/etc/env.php
in un editor di testo. - Incolla i dati copiati come valore
key
percrypt
. - Salva
env.php
modificato. - Pulire la cache nell'ambiente di destinazione eseguendo
bin/magento cache:clean
o nell'amministratore di Commerce in Sistema > Strumenti > Gestione cache.