2016-10-09 1 views
0

Я использую AWS-шифрование SDK для шифрования и дешифрования файлов. Я получаю сообщение об ошибкеencryptionsdk.exception.BadCiphertextException: Недопустимый тип зашифрованного текста

encryptionsdk.exception.BadCiphertextException: Invalid шифротекста типа

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

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

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

I моего кода у меня есть:

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) 

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

ответ

0

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

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

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