对自带密钥进行故障排除
对于 Shield Platform Encryption 自带密钥服务出现的任何问题,一个或多个常见问题解答可帮您进行故障排除。
所需的 Edition
| 适用于 Salesforce Classic(并非在所有组织中可用)和 Lightning Experience。 |
| 适用于:具有 Salesforce Shield 或 Shield Platform Encryption 许可证的 Enterprise、Performance 和 Unlimited Edition。 |
| 在 Developer Edition 中免费提供。 |
- 我正尝试使用您提供的其中一个脚本,但它无法运行。
- 请确保您正在为操作系统运行正确的脚本。如果您正在 Windows 计算机上工作,则您可以安装 Linux 模拟器并使用 Linux 脚本。这些问题也可以阻止脚本运行:
- 您对尝试运行脚本的文件夹没有写入权限。尝试从您具有写入权限的文件夹运行脚本。
- 缺少脚本引用的证书。请确保您已正确生成证书。
- 证书缺失,或未由正确的名称引用。请确保您已在脚本中输入正确的证书名称。
- 我想使用您提供的脚本之一,但我也想使用自己的随机数字生成器。
- 我们提供的脚本会使用随机号码生成器,以创建用作租户机密的随机值。如果您想要使用不同的生成器,请使用使用首选生成器生成随机数字的命令替换
head -c 32 /dev/random | tr '\n' =(或在 Mac 版本中替换为head -c 32 /dev/random > $PLAINTEXT_SECRET)。
备注 我们建议使用 /dev/random over /dev/urandom,因为它具有更真实的随机字节生成过程。 - 如果我想要使用自己的散列进程对租户机密进行散列,将会怎样?
- 没有问题。确保结果满足这些要求:
- 使用 SHA-256 算法。
- 生成 base64 加密的散列租户机密。
- 在加密前生成随机散列号码。
- 在将其上载到 Salesforce 前,我应如何加密租户机密?
- 如果您正在使用提供的脚本,则需要留意加密进程。如果您不使用脚本,请在加密租户密码时指定正确的填充方案。检查示例脚本中的填充要求。请确保剩余的加密租户密码和散列租户密码文件均使用 base64 进行加密。如果未满足其中任一条件,您无法上载租户机密。
- 如果您选择不使用提供的其中一个脚本,请使用最接近的脚本作为模型。
- 不接受我的封装 DEK。我应该怎么做?
- 请确保,您使用使用 SHA512 填充算法生成的兼容 BYOK 证书中的公钥封装根密钥生成的 DEK(例如用于搜索索引加密)。您可以尝试使用 SHA1 算法封装其他 BYOK 租户密码。
- 我的证书即将过期。我应该怎么做?
- 您仅用于上传密码的证书(例如 BYOK)仅在您上传密钥材料时有效。但对于仅缓存密钥,您的证书已被有效使用,并且必须仍然有效,以便 Salesforce 解压缩封装基础数据加密密钥 (DEK) 材料的内容加密密钥 (CEK)。过期证书将阻止使用仅缓存密钥。
重要 Salesforce 正在遵守行业范围内缩短 CA 证书到期时间的规定。请阅读 Salesforce 证书中的信息,并相应地进行计划。 - 我的会话令牌或导入令牌已过期。我应该怎么做?
- 您可以下载已经创建的证书。您将获得一个新的会话令牌文件。在“设置”的“自带密钥”页面上,单击下载证书和令牌按钮。从下载的 .zip 文件中提取会话令牌文件。然后,上载会话令牌以及封装的租户密码。
- 我无法上载加密租户机密和散列租户机密。
- 少量错误即可阻止上载您的文件。使用图表,以确保您的租户机密和证书状况良好。
可能原因 解决方案 您的文件由过期证书生成。 单击证书上的日期。如果已过期,您可以续订证书或使用其他证书。 您的证书未激活,或不是有效的自带密钥证书。 请确保您的证书设置兼容自带密钥功能。在“证书”页面的“证书和密钥编辑”部分,选择 4096 位证书大小、禁用“可导出个人密钥”并启用平台加密。在“我的证书即将过期”部分阅读有关过期证书的更多信息。 您无法同时附加加密租户机密和散列租户机密。 请确保同时附加加密租户机密和散列租户机密。这些文件应带有 .b64 后缀。 您的租户机密或散列租户机密未正确生成。 一些问题可能会造成此错误。通常,租户机密或散列租户机密未使用正确的 SSL 参数生成。如果您正在使用 OpenSSL,您可以参考脚本,以作为您应用于生成并散列租户密码的正确参数示例。如果您正在使用 OpenSSL 以外的库,请查看该库的支持页面,以帮助您找到生成和散列租户机密的正确参数。
仍有问题?请联系您的 Salesforce 客户主管。客户主管会帮您联系 Salesforce 中可提供帮助的人员。
- 上载证书时遇到问题。
- 要成功上载,证书必须是有效的 JKS 格式。查看使用密钥存储导出和导入证书的要求和常见问题。
- 我的 BYOK for Database Encryption 有问题。
- 数据库加密以不同方式管理密钥材料。
- 您只能在“设置”的“密钥管理”页面上上传客户提供的租户密码。API 支持不可用。
- 您无法通过 API 生成兼容 BYOK 的证书。
- 如果您在尝试上载密钥材料时遇到这些错误,以下是一些潜在的修复程序。
错误 解决问题提示 上传两个文件:封装的租户密码和用于封装租户密码的证书附带的会话令牌。 请确保您选择了两个必需的文件:加密的租户密码文件和会话令牌文件。然后单击上传。 此会话标记无效。请在此页上下载其他副本,然后重试。如果您仍无法上载,请联系 Salesforce 客户支持。 在“设置”的“自带数据库加密密钥”页面上,单击下载证书和令牌按钮。从下载的 .zip 文件中提取会话令牌文件。然后,上载会话令牌以及封装的租户密码。 您的租户密码必须是 AES 256 位密钥,并使用 AES 256 位临时密钥封装,所有密钥都使用从此页面下载的证书中的公用密钥封装。如果您的租户密码满足这些要求,但您无法上传,请联系 Salesforce 客户支持。 请确保租户密码和临时密钥大小正确。请仔细检查您是否使用“自带数据库加密密钥”页面的“管理证书”部分中列出的当前证书中的公钥进行了加密。 我们无法使用正确的会话 ID 验证您的租户密码。请稍后重试,或联系 Salesforce 客户支持。 有时,Salesforce 无法验证您的会话 ID,这会阻止我们将您的会话与您上传的会话令牌进行匹配。该问题通常由随时间解决的内部流程引起。请稍后尝试上载封装的租户密码和会话令牌。 您不能通过 API 上传客户提供的数据库加密租户密码。 BYOK for Database Encryption 仅可通过设置使用。在“自带数据库加密密钥”页面上上传客户提供的租户密码。 另一个证书已经使用此标签。输入唯一标签。 每个证书必须有一个唯一的标签。您可以在“设置”中查看“管理证书和密钥”页面,以查看现有证书。 嗯,出了点问题请稍后重试,或联系 Salesforce 客户支持。 请稍后重试您的操作,或联系您的客户主管,以帮助在试用组织中进行故障排除。 - 上传 BYOK for Data 360 时遇到问题
- 如果您在尝试上载密钥材料时遇到这些错误,以下是一些潜在的修复程序。
错误 解决问题提示 Data Cloud 根密钥未准备好上载 在尝试上载 Data 360 BYOK 时,您可能会遇到此状态。Salesforce 在准备新 Data Cloud 根密钥时遇到问题。其状态被标记为“待处理”,以便您可以重试。导航到“设置”中的“密钥管理”页面。在根密钥清单的 Data Cloud 选项卡中,单击重试。 合法内容但证书密钥过期。 使用的证书无效或已过期。请重新下载证书和令牌。 有效令牌,但封装密钥无效。 上传的密钥无效。请使用助手脚本中的指南创建并封装导入密钥,然后重试。 - 我无法将事务数据库数据中的所有数据与新租户密码同步。
- 由于数据库加密如何在片段级别加密数据,因此新的租户密码可用于加密数据,因为您的用户需要它。以前加密的数据始终可以使用以前的 DEK 解密。这是数据库加密不支持销毁密钥的原因之一。
- 我对密钥仍有问题。我应该和谁交流?
- 如果您仍有问题,请联系客户代表。客户主管会帮您联系专门开发此功能的支持团队。
另请参阅:
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

