Как перекодировать зашифрованные файлы AES с помощью AWS Elastic Transcoder
Я хочу загрузить мои зашифрованные видео на S3 и использовать Elastic Transcoder для их перекодирования. Это то, чем я сейчас занимаюсь и не работаю вообще. Я использую openssl
для шифрования моих видео файлов. Команды, которые я использую:
PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c16) openssl enc -aes-256-cbc -pass pass:$PASSWORD -p -in VIDEO.mkv -out VIDEO.enc.mkv
Это эхо из моей соли, ключ и IV в hex
:
salt=BBE61C94DD1B3395 key=03A4C8AB06A09C924947FC865415FE58E1AFC6C998FA7CA8B9DE8E5C232CE0E9 iv =9325C43C36A7868957613EF80FEED569
Затем я загружаю этот зашифрованный файл в S3 с помощью aws s3
утилиты командной строки.
AWS Elastic Transcoder говорит мне:
Decryption Key: The Base64 encoded encrypted key that you want Elastic Transcoder to use to decrypt the input. Decryption Key MD5: The Base64 encoded MD5 digest of the encrypted key that you want Elastic Transcoder to use for a key checksum. Decryption Initialization Vector: The Base64 encoded initialization vector that you want Elastic Transcoder to use to decrypt the input.
Я тогда делаю:
OUTPUT=$(echo '[KEY]' | xxd -r -p | base64 -i -) aws kms encrypt --plaintext $OUTPUT --key-id [MY KEY]
Это возвращает, CiphertextBlob
что я могу затем вставить в мой Decryption Parameters -> Decryption Key
.
Для Decryption Key MD5
я делаю:
echo '[KEY]' | xxd -r -p | md5 | base64 -i -
И я вставляю это в Decryption Parameters -> Decryption Key MD5
.
IV выполняется:
echo '[IV]' | xxd -r -p | base64 -i -
Который я тогда вставляю в Decryption Parameters -> Decryption Initialization Vector
.
После выполнения всех этих шагов и создания задания AWS возвращается с этой ошибкой:
The MD5 hash of the base64-decoded value for ''Encryption:Key'' must equal the base64-decoded value for ''Encryption:KeyMd5''. (Service: AmazonElasticTranscoder; Status Code: 400; Error Code: ValidationException; Request ID: xxxx)
Версии
openssl version OpenSSL 0.9.8zg 14 July 2015 aws --version aws-cli/1.9.2 Python/2.7.10 Darwin/15.0.0 botocore/1.3.2 xxd -v xxd V1.10 27oct98 by Juergen Weigert md5 -x MD5 test suite: MD5 ("") = d41d8cd98f00b204e9800998ecf8427e - verified correct MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661 - verified correct MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 - verified correct MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0 - verified correct MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b - verified correct MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f - verified correct MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a - verified correct MD5 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = b50663f41d44d92171cb9976bc118538 - verified correct base64 -h base64: invalid option -- h Usage: base64 [-dhvD] [-b num] [-i in_file] [-o out_file] -h, --help display this message -D, --decode decodes input -b, --break break encoded string into num character lines -i, --input input file (default: "-" for stdin) -o, --output output file (default: "-" for stdout)
TL; DR
Я хочу перекодировать зашифрованный файл на стороне клиента из S3 с помощью Elastic Transcoder, но не могу заставить ключи работать.
0 ответов на вопрос
Похожие вопросы
-
6
Насколько хороша защита паролем Word?
-
1
программное обеспечение для шифрования портативных носителей, которое работает как на Mac OSX, так и...
-
12
Каков наиболее практичный метод обеспечения безопасности домашней беспроводной сети?
-
-
6
Маленький, легкий текстовый редактор / блокнот со встроенным надежным шифрованием?
-
5
Бэкап машины времени на S3
-
2
Есть ли кто-нибудь, использующий аппаратно зашифрованный жесткий диск на своих ноутбуках?
-
10
Скорость шифрования всего диска TrueCrypt
-
2
безопасная загрузка и wubi
-
2
Установка второй ОС на зашифрованный диск TrueCrypt
-
5
Что такое простой и безопасный способ шифрования файлов в Windows?