Beheben von Problemen mit dem Verschlüsselungsschlüssel
In diesem Artikel wird beschrieben, wie Sie die Probleme beheben, die durch den Verschlüsselungsschlüssel verursacht werden, der nicht zusammen mit dem DB-Dump in die andere Umgebung verschoben wird.
Betroffene Produkte und Versionen
- Adobe Commerce auf Cloud-Infrastruktur 2.4.x
Problem
Nach dem Import eines Datenbank-Dump aus der Produktions- in Staging-/Integrationsumgebung erscheinen gespeicherte Kreditkartennummern falsch und/oder Zahlungen schlagen bei Zahlungsintegrationen fehl, die die Verwendung von Händleranmeldeinformationen erfordern.
Ursache
Der Verschlüsselungsschlüssel, der zum Verschlüsseln sensibler Daten wie Kreditkartennummern und Händleranmeldeinformationen verwendet wird, wird nicht in der Datenbank gespeichert und wird daher nach dem Import/Export der Datenbank-Dump nicht in andere Umgebungen übertragen.
Lösung
Sie müssen den Verschlüsselungsschlüssel aus der Quellumgebung kopieren und in die Zielumgebung einfügen.
So kopieren Sie den Verschlüsselungsschlüssel:
- SSH zu Ihrem Projekt, das die Quelle für die Datenbank-Dump war, wie in der Entwicklerdokumentation unter SSH in die Umgebung beschrieben.
- Öffnen Sie
app/etc/env.php
in einem Texteditor. - Kopieren Sie den Wert von
key
fürcrypt
.
return array ('crypt' => array ('key' => '<your encryption key>', ),);
So legen Sie den Schlüsselwert für das Zielprojekt fest:
- Öffnen Sie die Cloud-Konsole und suchen Sie Ihr Projekt.
- Legen Sie den Wert der Variablen CRYPT_KEY (in unserer Entwicklerdokumentation) fest, wie in der Entwicklerdokumentation unter Konfigurieren Sie Ihr Projekt beschrieben. Dadurch wird der Bereitstellungsprozess Trigger und
CRYPT_KEY
wird bei jeder Bereitstellung in derapp/etc/env.php
-Datei überschrieben.
Optional können Sie den Verschlüsselungsschlüssel in der Datei app/etc/env.php
manuell überschreiben:
- SSH in die Zielumgebung.
- Öffnen Sie
app/etc/env.php
in einem Texteditor. - Fügen Sie die kopierten Daten als
key
-Wert fürcrypt
ein. - Speichern Sie die bearbeitete
env.php
. - Bereinigen Sie den Cache in der Zielumgebung, indem Sie
bin/magento cache:clean
oder im Commerce Admin unter System > Tools > Cache-Verwaltung ausführen.