我使用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)
有人可以指出我在这里缺少什么吗?我想弄清楚问题,但我无法解决。非常感谢任何帮助。
答案 0 :(得分:1)
我对AWS加密SDK的理解是,它允许您以比您自己实施加密原语更为通用的方式使用AWS KMS。
从我所看到的,您尝试使用KMS CLI连接Encryption SDK,并且这些内容不兼容。
通过调用KMS(SDK或命令行工具)中的Encrypt原语生成加密数据吗?如果是这样,您应该尝试使用KMS Client Decrypt原语以您首选的方式(CLI或SDK)处理它。