2016-10-09 2 views
0

Ich verwende AWS-Verschlüsselung SDK zum Verschlüsseln und Entschlüsseln von Dateien. Ich erhalte einen Fehlerencryptionsdk.exception.BadCiphertextException: Ungültiger Chiffretext-Typ

encryptionsdk.exception.BadCiphertextException: Ungültige chiffrierten Text Typen

im folgende Szenario.

Ich Verschlüsselung meine Datei Befehl:

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

ich meinen Code ich habe:

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) 

Könnte jemand bitte darauf hinweisen, was ich in dieser bin fehlt? Ich versuche das Problem herauszufinden, aber ich kann es nicht. Würde mich über jede Hilfe diesbezüglich freuen.

Antwort

0

Nach meinem Verständnis aus dem AWS Encryption SDK können Sie AWS KMS auf eine allgemeinere Weise verwenden, als wenn Sie die Kryptographiegrundelemente selbst implementieren würden.

Von dem, was ich sehen kann, versuchen Sie, das Encryption SDK mit der KMS-CLI zu verbinden, und diese Dinge sind nicht kompatibel.

Wurden Ihre verschlüsselten Daten durch Aufrufen des Basiselements Encrypt in KMS (SDK oder Befehlszeilentool) generiert? In diesem Fall sollten Sie versuchen, das primitive KMS-Client-Decrypt-Element auf Ihre bevorzugte Weise (CLI oder SDK) zu verwenden.