导入密钥材料步骤 3:加密密钥材料 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

导入密钥材料步骤 3:加密密钥材料

下载公有密钥并导入令牌后,您可以使用公有密钥加密您的密钥材料。密钥材料必须采用二进制格式。

通常,您可以在将密钥材料从硬件安全模块 (HSM) 或密钥管理系统导出时对其进行加密。有关如何以二进制格式导出密钥材料的信息,请参阅有关 HSM 或密钥管理系统的文档。您还可以参阅以下部分,该部分使用 OpenSSL 提供了概念验证演示。

加密密钥材料时,请将 加密方案与您在下载公有密钥时指定的填充选项配合使用,并导入令牌 (RSAES_OAEP_SHA_256、RSAES_OAEP_SHA_1 或 RSAES_PKCS1_V1_5)。

示例:使用 OpenSSL 加密钥材料

以下示例显示了如何使用OpenSSL生成一个 256 位对称密钥,然后加密此密钥材料,以便导入到Amazon KMS客户主密钥 (CMK)。

重要

此示例仅为概念验证演示。对于生产系统,请使用更安全的方法 (如商业 HSM 或密钥管理系统) 来生成和存储您的密钥材料。

RSAES_OAEP_SHA_1 加密算法最适合此示例。在运行此示例之前,请确保您在步骤 2 中针对包装算法使用了 RSAES_OAEP_SHA_1。如有必要,请重复该步骤以下载和导入公有密钥和令牌。

使用 OpenSSL 生成二进制密钥材料并将其加密,以便导入到 Amazon KMS

  1. 使用以下命令生成一个 256 位对称密钥,并将其保存在名为 PlaintextKeyMaterial.bin 的文件中。

    $ openssl rand -out PlaintextKeyMaterial.bin 32
  2. 使用以下命令以利用您之前下载的公有密钥 (请参阅下载公有密钥和导入令牌()Amazon KMSAPI)) 加密密钥材料,并将其保存在名为 EncryptedKeyMaterial.bin 的文件中。将 PublicKey.bin 替换为包含公有密钥的文件的名称。如果您是从控制台下载的公有密钥,则此文件的名称为 wrappingKey_CMK_key_ID_timestamp (例如,wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909)。

    $ openssl rsautl -encrypt \ -in PlaintextKeyMaterial.bin \ -oaep \ -inkey PublicKey.bin \ -keyform DER \ -pubin \ -out EncryptedKeyMaterial.bin

继续执行第 4 步:导入密钥材料