Resolver problemas com a chave de criptografia
Quando você importa um dump de banco de dados para outro ambiente, a chave de criptografia permanece no ambiente de origem. Este artigo explica como transferir a chave de criptografia para resolver problemas de pagamento e de dados salvos.
Descrição description
Ambiente
Adobe Commerce na infraestrutura em nuvem 2.4.x
Problema/Sintomas
Depois de importar um despejo de banco de dados dos ambientes de Produção para os de Preparo/Integração, você terá um ou mais dos seguintes problemas:
- Os números de cartão de crédito salvos parecem incorretos
- Falha de pagamentos para integrações de pagamento que exigem credenciais de comerciante
- Os dados do método de pagamento armazenado estão corrompidos
Causa
A chave de criptografia usada para criptografar dados confidenciais (como números de cartão de crédito e credenciais de comerciantes) não é armazenada no banco de dados. Portanto, ele não é transferido para outros ambientes quando você importa ou exporta um dump do banco de dados.
Resolução resolution
Copie a chave de criptografia do ambiente de origem e adicione-a ao ambiente de destino.
Para copiar a chave de criptografia:
- O SSH para o projeto que foi a origem do despejo do banco de dados, conforme descrito em SSH para o ambiente na documentação do desenvolvedor.
- Abra
app/etc/env.phpem um editor de texto. - Copie o valor de
keyparacrypt.
return array(
'crypt' => array(
'key' => '',
),
);
Para definir o valor da chave para o projeto de destino:
- Abra o Cloud Console e localize o projeto.
- Defina o valor da variável CRYPT_KEY (na documentação do desenvolvedor), conforme descrito em Configurar o projeto na documentação do desenvolvedor. Isso disparará o processo de implantação e
CRYPT_KEYserá substituído no arquivoapp/etc/env.phpem cada implantação.
Como opção, você pode substituir manualmente a chave de criptografia no arquivo app/etc/env.php:
- SSH para o ambiente de destino.
- Abra
app/etc/env.phpem um editor de texto. - Cole os dados copiados como o valor
keyparacrypt. - Salve o
env.phpeditado. - Limpe o cache no ambiente de destino executando
bin/magentocache:cleanou no Administrador do Commerce em Sistema>Ferramentas>Gerenciamento de Cache.