2

我正在使用 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)

谁能指出我在这方面缺少什么?我试图找出问题,但我无法。对此有任何帮助将不胜感激。

4

1 回答 1

1

我对 AWS 加密 SDK 的理解是,与您自己实施加密原语相比,它允许您以更通用的方式使用 AWS KMS。

据我所知,您正在尝试将加密 SDK 与 KMS CLI 连接起来,而这些东西不兼容。

您的加密数据是通过调用 KMS(SDK 或命令行工具)中的 Encrypt 原语生成的吗?如果是这样,您应该尝试使用 KMS 客户端解密原语以您喜欢的方式(CLI 或 SDK)来处理它。

于 2017-03-16T14:28:29.770 回答