aws-cli で文字列をencrypt・decryptしたメモ。
Encrypt
1回目以下でためしたところ
aws kms encrypt --key-id 'kms key id' --plaintext 'my plain text' --profile 'my profile'
Invalid base64: "my plain text"
上のようなエラーになる。
そこで以下のようなコマンドでencryptコマンド実行する。
aws kms encrypt --cli-binary-format raw-in-base64-out --plaintext 'my plain text' --key-id 'kms key id' --profile 'my profile'
{
"CiphertextBlob": "ciphertext...",
"KeyId": "arn:aws:kms:ap-northeast-1:MY_AWS_ACCOUNT_ID:key/kms key id",
"EncryptionAlgorithm": "SYMMETRIC_DEFAULT"
}
上のコマンドで正常に実行されて、CiphertextBlobを確認できる。
Decrypt
aws kms decrypt --key-id 'kms key id' --profile 'my profile' --ciphertext-blob "ciphertext..."
{
"KeyId":"arn:aws:kms:ap-northeast-1:MY_AWS_ACCOUNT_ID:key/kms key id",
"Plaintext": "bXkgcGxhaW4gdGV4dA==",
"EncryptionAlgorithm": "SYMMETRIC_DEFAULT"
}
このようにPlaintextがbase64で表示される。
aws kms decrypt --key-id 'kms key id' --profile 'my profile' --ciphertext-blob "ciphertext..." --query Plaintext --output text | base64 -d
my plain text
decryptして入力の文字列と同じ値になっていること確認できました。