Beheben von Problemen mit dem Verschlüsselungsschlüssel
In diesem Artikel wird beschrieben, wie Sie die Probleme beheben können, die dadurch verursacht werden, dass der Verschlüsselungsschlüssel 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 Produktionsumgebung in die Staging-/Integrationsumgebungen erscheinen gespeicherte Kreditkartennummern falsch und/oder Zahlungen schlagen bei Zahlungsintegrationen fehl, die die Verwendung von Händleranmeldeinformationen erfordern.
Ursache
Der zum Verschlüsseln sensibler Daten verwendete Verschlüsselungsschlüssel, z. B. Kreditkartennummern und Händleranmeldeinformationen, wird nicht in der Datenbank gespeichert und daher nach dem Import/Export des Datenbank-Dump nicht in eine andere Umgebung übertragen.
Lösung
Sie müssen den Verschlüsselungsschlüssel aus der Quellumgebung kopieren und der Zielumgebung hinzufügen.
So kopieren Sie den Verschlüsselungsschlüssel:
- SSH zu Ihrem Projekt, das die Quelle für den Datenbank-Dump war, wie unter SSH zur Umgebung in unserer Entwicklerdokumentation 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 unter Konfigurieren Ihres Projekts in unserer Entwicklerdokumentation beschrieben. Dadurch tritt ein Trigger beim Bereitstellungsprozess auf, und
CRYPT_KEY
wird bei jeder Bereitstellung in derapp/etc/env.php
-Datei überschrieben.
Optional können Sie den Verschlüsselungsschlüssel in der app/etc/env.php
-Datei manuell überschreiben:
- SSH in die Zielumgebung.
- Öffnen Sie
app/etc/env.php
in einem Texteditor. - Fügen Sie die kopierten Daten als
key
fürcrypt
ein. - Speichern Sie die bearbeiteten
env.php
. - Bereinigen Sie den Cache in der Zielumgebung, indem Sie
bin/magento cache:clean
oder in der Commerce Admin unter System > Tools > Cache-Verwaltung ausführen.