Importar o material de chave — etapa 3: Criptografar o material de chave
Depois de fazer download da chave pública e importar o token, use a chave pública para criptografar seu material de chaves. O material de chaves deve estar em formato binário.
Geralmente, você criptografa o material de chaves ao exportá-lo do HSM (módulo de segurança de hardware) ou do sistema de gerenciamento de chaves. Para obter informações sobre como exportar material de chaves em formato binário, consulte a documentação do HSM ou do sistema de gerenciamento de chaves. Você também pode consultar a seção a seguir, que fornece uma demonstração da prova de conceito usando OpenSSL.
Ao criptografar o material de chaves, use o mesmo algoritmo de encapsulamento que você especificou quando fez download da chave pública e importe o token (RSAES_OAEP_SHA_256, RSAES_OAEP_SHA_1 ou RSAES_PKCS1_V1_5).
Exemplo: Criptografar material de chave com OpenSSL
O exemplo a seguir demonstra como usar o OpenSSL
Nas regiões da China, gere uma chave de criptografia simétrica de 128 bits.
Este exemplo é apenas uma demonstração da prova de conceito. Para sistemas de produção, use um método mais seguro (tal como um HSM ou sistema de gerenciamento de chaves comercial) para gerar e armazenar seu material de chaves.
O algoritmo de criptografia RSAES_OAEP_SHA_1
funciona melhor com este exemplo. Antes de executar o exemplo, certifique-se de ter usado RSAES_OAEP_SHA_1 para o algoritmo de empacotamento na Etapa 2. Se necessário, repita a etapa para fazer download, importe a chave pública e o token.
Para usar o OpenSSL para gerar material de chaves binário e criptografá-lo a fim de importá-lo para o AWS KMS
-
Use o comando a seguir para gerar uma chave simétrica de 256 bits e salve-a em um arquivo chamado
PlaintextKeyMaterial.bin
.(Somente regiões da China) Para gerar uma chave simétrica de 128 bits, altere o
32
no comando a seguir16
.$
openssl rand -out PlaintextKeyMaterial.bin 32
-
Use o comando a seguir para criptografar o material de chaves com a chave pública que você baixou anteriormente e salve-o em um arquivo chamado
EncryptedKeyMaterial.bin
. Substitua
pelo nome do arquivo que contém a chave pública. Se você fez baixou a chave pública do console, esse arquivo se chama wrappingKey_PublicKey.bin
KMS key_key_ID
_timestamp
(por exemplo,wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909
).$
openssl pkeyutl \ -in PlaintextKeyMaterial.bin \ -out EncryptedKeyMaterial.bin \ -inkey
PublicKey.bin
\ -keyform DER -pubin \ -encrypt \ -pkeyopt rsa_padding_mode:oaep \ -pkeyopt rsa_oaep_md:sha1
Vá para Etapa 4: Importar o material de chave.