本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
导入密钥材料步骤 3:加密密钥材料
下载公有密钥并导入令牌后,您可以使用公有密钥加密您的密钥材料。密钥材料必须采用二进制格式。
通常,您可以在将密钥材料从硬件安全模块 (HSM) 或密钥管理系统导出时对其进行加密。有关如何以二进制格式导出密钥材料的信息,请参阅有关 HSM 或密钥管理系统的文档。您还可以参阅以下部分,该部分使用 OpenSSL 提供了概念验证演示。
加密密钥材料时,请使用与您在下载公有密钥和时指定的相同的包装算法,并导入令牌时指定的相同的包装算法。要更改打包算法,请返回步骤 2 并下载新的公钥并导入令牌。
重要
RSAES_PKCS1_V1_5封装算法已过时。 Amazon KMS根据美国国家标准与技术研究院 (NIST) 的加密密钥管理指南RSAES_PKCS1_V1_5我们建议您立即开始使用不同的包装算法。
示例:使用 OpenSSL 加密密钥材料
以下示例显示了如何使用 OpenSSL
在中国区域,生成 128 位对称加密密钥。
重要
此示例仅为概念验证演示。对于生产系统,请使用更安全的方法 (如商业 HSM 或密钥管理系统) 来生成和存储您的密钥材料。
RSAES_OAEP_SHA_1 加密算法最适合此示例。在运行此示例之前,请确保您在步骤 2 中针对包装算法使用了 RSAES_OAEP_SHA_1。如有必要,请重复该步骤以下载和导入公有密钥和令牌。
使用 OpenSSL 生成二进制密钥材料并将其加密,以便导入到 Amazon KMS
-
使用以下命令生成一个 256 位对称密钥,并将其保存在名为
PlaintextKeyMaterial.bin的文件中。(仅限中国区域)要生成 128 位对称密钥,请将以下命令中的
32更改为16。$openssl rand -out PlaintextKeyMaterial.bin 32 -
使用以下命令以利用您下载的公有密钥加密密钥材料,并将其保存在名为
EncryptedKeyMaterial.bin的文件中。将替换为包含公有密钥的文件的名称。如果您是从控制台下载的公有密钥,则此文件的名称为 wrappingKey_PublicKey.binKMS key_key_ID_timestamp(例如,wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909)。$openssl pkeyutl \ -in PlaintextKeyMaterial.bin \ -out EncryptedKeyMaterial.bin \ -inkeyPublicKey.bin\ -keyform DER -pubin \ -encrypt \ -pkeyopt rsa_padding_mode:oaep \ -pkeyopt rsa_oaep_md:sha1
继续执行步骤 4:导入密钥材料。