Risolvi i problemi relativi alla chiave di crittografia
Quando si importa un dump del database in un altro ambiente, la chiave di crittografia rimane nell’ambiente di origine. Questo articolo spiega come trasferire la chiave di crittografia per risolvere i problemi relativi ai pagamenti e ai dati salvati.
Descrizione description
Ambiente
Adobe Commerce sull’infrastruttura cloud 2.4.x
Problema/Sintomi
Dopo aver importato un dump del database dalla produzione agli ambienti di staging/integrazione, si verifica una o più delle seguenti situazioni:
- I numeri di carta di credito salvati non sono corretti
- I pagamenti non riescono per le integrazioni di pagamenti che richiedono credenziali esercente
- I dati archiviati del metodo di pagamento sono danneggiati
Causa
La chiave di crittografia utilizzata per crittografare i dati sensibili, ad esempio i numeri di carta di credito e le credenziali dell’esercente, non viene memorizzata nel database. Pertanto, non viene trasferito ad altri ambienti quando si importa o si esporta un’immagine di database.
Risoluzione resolution
È 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.phpin un editor di testo. - Copia il valore di
keypercrypt.
return array(
'crypt' => array(
'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_KEYverrà sovrascritto nel fileapp/etc/env.phpin 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.phpin un editor di testo. - Incolla i dati copiati come valore
keypercrypt. - Salva
env.phpmodificato. - Pulire la cache nell’ambiente di destinazione eseguendo
bin/magentocache:cleano nell’amministratore di Commerce in Sistema>Strumenti>Gestione cache.