encryptionsdk.exception.BadCiphertextException: неверный тип зашифрованного текста

Я использую AWS шифрование SDK для шифрования и дешифрования файлов. Я получаю ошибку

encryptionsdk.exception.BadCiphertextException: неверный тип зашифрованного текста

в следующем сценарии.

Я шифрую свой файл с помощью команды:

aws kms encrypt --key-id keyId --region us-east-1 --plaintext file://text.txt --query CipherTextBlob             --output text | base64 --decode >file.dat.encrypted.

Я мой код у меня есть:

AwsCrypto awsCrypto = new AwsCrypto();
InputStream inputStream  = new FileInputStream("inputfile");
final CryptoInputStream decryptingStream = awsCrypto.createDecryptingStream(provider,inputStream);
OutputStream outputStream = new FileOutputStream("outputFile");
IOUtils.copy(decryptingStream,outputStream)

Может ли кто-нибудь указать, что мне не хватает в этом? Я пытаюсь выяснить проблему, но я не могу. Был бы признателен за любую помощь в этом.

1 ответ

Насколько я понимаю из пакета AWS Encryption SDK, он позволяет вам использовать AWS KMS более общим способом, чем если бы вы реализовали криптографические примитивы на себе.

Из того, что я вижу, вы пытаетесь соединить Encryption SDK с CLI KMS, и эти вещи не совместимы.

Ваши зашифрованные данные были сгенерированы путем вызова примитива Encrypt в KMS (SDK или инструмент командной строки)? Если это так, вы должны попытаться использовать примитив KMS Client Decrypt для работы с ним предпочитаемым способом (CLI или SDK).

Другие вопросы по тегам