解決加密金鑰的問題

本文會討論如何修正加密金鑰未與DB傾印一起移動到其他環境所造成的問題。

受影響的產品和版本

  • 雲端基礎結構上的Adobe Commerce 2.2.x、2.3.x

問題

資料庫傾印從生產環境匯入到中繼/整合環境後,對於需要使用商家憑證的付款整合,儲存的信用卡號碼顯示錯誤,和/或付款失敗。

原因

用來加密敏感資料(例如信用卡號碼和商家認證)的加密金鑰不會儲存在資料庫中,因此在資料庫傾印匯入/匯出後也不會傳輸到其他環境。

解決方案

您需要從來源環境複製加密金鑰,並將其新增到目標環境。

若要複製加密金鑰:

  1. SSH至您的專案,此專案是資料庫傾印的來源,如開發人員檔案中的SSH至環境所述。
  2. 在文字編輯器中開啟app/etc/env.php
  3. 複製cryptkey值。
return array ('crypt' =>      array ('key' => '<your encryption key>', ),);

若要設定目標專案的索引鍵值:

  1. 開啟雲端主控台並找出您的專案。
  2. 設定CRYPT_KEY (在開發人員檔案中)變數的值,如開發人員檔案中的設定您的專案所述。 這將觸發部署程式,而且每次部署時app/etc/env.php檔案中的CRYPT_KEY都會被覆寫。

您可以選擇手動覆寫app/etc/env.php檔案中的加密金鑰:

  1. SSH連線至目的地環境。
  2. 在文字編輯器中開啟app/etc/env.php
  3. 將複製的資料貼上為cryptkey值。
  4. 儲存已編輯的env.php
  5. 執行bin/magento cache:clean或在​ 系統 > 工具 > 快取管理 ​下的Commerce管理員中,清除目的地環境上的快取。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a