Boto3 AWS KMS шифрует и дешифрует файл

Этот ответ предназначен для прояснения препроцессора C и того, как он может использоваться для общего программирования


. Они в некоторых отношениях, поскольку они позволяют использовать некоторую подобную семантику. Препроцессор C использовался для создания общих структур данных и алгоритмов (см. токен Concatination ). Однако, не учитывая никаких других особенностей шаблонов C ++, он делает всю родовую программирующую игру LOT CLEARER для чтения и реализации.

Если кто-то хочет видеть хардкор C, то только общее программирование в действии читает libevent sourcecode - здесь также упоминается здесь . Реализована обширная коллекция контейнеров / алгоритмов, и ее сделано в файле заголовка SINGLE (очень читаемо). Я действительно восхищаюсь этим, код шаблона C ++ (который я предпочитаю для других его атрибутов) ОЧЕНЬ многословный.

0
задан Bruce Zhao 2 March 2019 в 01:40
поделиться

1 ответ

Причина, по которой вы получаете эту ошибку, заключается в том, что зашифрованный текст, который вы получаете от KMS, не имеет ту же длину, что и открытый текст, который вы зашифровали. Кроме того, KMS не дает никаких гарантий относительно размера или формата этого зашифрованного текста, оставшегося неизменным. Вам следует относиться к зашифрованному тексту KMS как к черному ящику.

Кроме того, KMS не рекомендует отправлять текстовые сообщения напрямую в KMS. Вместо этого они рекомендуют вместо этого использовать шифрование конвертов: используйте KMS для шифрования ключей данных и используйте эти ключи данных для шифрования ваших данных. Это не только приводит к гораздо меньшему количеству обращений к KMS в таких случаях, как ваше, но также создает разделение ресурсов: KMS никогда не имеет ваших зашифрованных данных и ключа, необходимого для их расшифровки.

Для вашего случая использования вы рассматривали возможность использования AWS Encryption SDK [1] [2]? Он обеспечивает простую в использовании реализацию шифрования конвертов и упрощает использование KMS для защиты ваших данных. Вы можете найти пример его настройки для использования KMS здесь [3] и пример шифрования и дешифрования файла здесь [4].

[1] https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html

[2] https : //aws-encryption-sdk-python.readthedocs.io/en/stable/

[3] https://github.com/aws/aws-encryption-sdk- python / blob / master / examples / src / basic_encryption.py # L29

[4] https://github.com/aws/aws-encryption-sdk-python/blob/ ведущий / примеры / SRC / basic_file_encryption_with_multiple_providers.py # L96-L107

0
ответ дан mattsb42-aws 2 March 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: