[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}

加密密钥

NOTE
如果您尝试完成这些步骤但遇到问题,请参阅加密密钥轮换疑难解答: CVE-2024-34102知识库文章。

Adobe Commerce和Magento Open Source使用加密密钥保护密码和其他敏感数据。 行业标准ChaCha20-Poly1305算法与256位密钥一起使用,以加密所有需要加密的数据。 这包括信用卡数据和集成(支付和配送模块)密码。 此外,使用强安全哈希算法(SHA-256)来哈希所有不需要解密的数据。

在初始安装期间,系统会提示您允许Commerce生成加密密钥,或输入自己的密钥。 加密密钥工具允许您根据需要更改密钥。 应定期更改加密密钥以提高安全性,并且随时可能危及原始密钥。

有关技术信息,请参阅安装指南中的​ 高级内部部署 ​和PHP开发人员指南中的​ 数据重新加密

IMPORTANT
  • 在按照这些说明更改加密密钥之前,请确保以下文件可写: [your store]/app/etc/env.php
  • 管理员设置中的加密密钥更改功能已弃用,已在2.4.8中移除。升级到2.4.8后,您必须使用本页中所述的CLI命令更改加密密钥。
  • 轮换加密密钥将立即使所有客户和管理会话(不包括集成用户)失效,并且需要他们再次登录。

要更改加密密钥:

下面的说明需要访问终端。

  1. 启用维护模式

    code language-bash
    bin/magento maintenance:enable
    
  2. 禁用cron作业。

    云基础架构项目:

    code language-bash
    ./vendor/bin/ece-tools cron:disable
    

    内部部署项目

    code language-bash
    crontab -e
    
  3. 使用以下方法之一更改加密密钥。

    accordion
    CLI命令

    确认新命令存在:

    code language-bash
    bin/magento list | grep encryption:key:change
    

    您应该会看到以下输出:

    code language-bash
    encryption:key:change Change the encryption key inside the env.php file.
    

    如果看到此输出,请运行以下CLI命令,并确保它完成时没有出现错误。 如果需要重新加密某些系统配置值或付款字段,请参阅PHP开发指南中有关重新加密​ 的详细 ​指南。

    code language-bash
    bin/magento encryption:key:change
    
    accordion
    管理员设置
    note important
    IMPORTANT
    此功能已被弃用,在2.4.8中已移除。Adobe建议使用CLI更改加密密钥。
    1. 在​ 管理员 ​侧边栏上,转到​ System > Other Settings>Manage Encryption Key

      系统加密密钥 {width="700" modal="regular"}

    2. 执行以下操作之一:

      • 要生成新密钥,请将​ Auto-generate Key ​设置为Yes
      • 若要使用其他键,请将​ Auto-generate Key ​设置为No。 然后在​ New Key ​字段中,输入或粘贴要使用的密钥。
    3. 单击​ Change Encryption Key

      note note
      NOTE
      将新密钥的记录保存在安全位置。 如果文件发生任何问题,则需要解密数据。
  4. 刷新缓存。

    云基础架构项目:

    code language-bash
    magento-cloud cc
    

    内部部署项目:

    code language-bash
    bin/magento cache:flush
    
  5. 启用cron作业。

    云基础架构项目:

    code language-bash
    ./vendor/bin/ece-tools cron:enable
    

    内部部署项目:

    code language-bash
    crontab -e
    
  6. 禁用维护模式。

    code language-bash
    bin/magento maintenance:disable
    
recommendation-more-help
d3c62084-5181-43fb-bba6-1feb2fcc3ec1