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:

  1. SSH al progetto che era l’origine per l’immagine del database, come descritto in SSH all’ambiente nella documentazione per gli sviluppatori.
  2. Apri app/etc/env.php in un editor di testo.
  3. Copia il valore di key per crypt.
return array(
    'crypt' => array(
        'key' => '',
    ),
);

Per impostare il valore chiave per il progetto di destinazione:

  1. Apri Cloud Console e individua il progetto.
  2. 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 file app/etc/env.php in ogni distribuzione.

Se necessario, è possibile sovrascrivere manualmente la chiave di crittografia nel file app/etc/env.php:

  1. SSH all’ambiente di destinazione.
  2. Apri app/etc/env.php in un editor di testo.
  3. Incolla i dati copiati come valore key per crypt.
  4. Salva env.php modificato.
  5. Pulire la cache nell’ambiente di destinazione eseguendo bin/magento cache:clean o nell’amministratore di Commerce in Sistema > Strumenti > Gestione cache.
recommendation-more-help
experience-cloud-kcs-help-kbarticles