Kein konfigurierter Schlüsselring konnte den Datenschlüssel entschlüsseln. Die Liste der aufgetretenen Ausnahmen ist übeJava

Java-Forum
Guest
 Kein konfigurierter Schlüsselring konnte den Datenschlüssel entschlüsseln. Die Liste der aufgetretenen Ausnahmen ist übe

Post by Guest »

Ich erhalte eine Fehlermeldung, wenn ich versuche, die von AWS KMS verschlüsselten Daten zu entschlüsseln.
Die Daten können problemlos verschlüsselt werden, aber während der Entschlüsselung wird die Fehlermeldung angezeigt.
Fehler: Kein konfigurierter Schlüsselring konnte den Datenschlüssel entschlüsseln. Die Liste der aufgetretenen Ausnahmen ist über list verfügbar.
Bitte finden Sie unten den Java-Code

Code: Select all

 keyArn = "arn of ny aws kms key";
plaintext = "Text to encrypt";

final AwsCrypto crypto =  AwsCrypto.builder()
.withCommitmentPolicy(CommitmentPolicy.RequireEncryptRequireDecrypt)
.build();    System.out.println("MaterialProvidersConfig.builder().build():"+MaterialProvidersConfig.builder().build());
final MaterialProviders materialProviders = MaterialProviders.builder()
.MaterialProvidersConfig(MaterialProvidersConfig.builder().build())
.build();
final CreateAwsKmsMultiKeyringInput keyringInput =
CreateAwsKmsMultiKeyringInput.builder().generator(keyArn).build();
final IKeyring kmsKeyring = materialProviders.CreateAwsKmsMultiKeyring(keyringInput);

// Encrypt the data
final CryptoResult encryptResult = crypto.encryptData(kmsKeyring, plaintext.getBytes(StandardCharsets.UTF_8));
final byte[] ciphertext = encryptResult.getResult();
System.out.println("Ciphertext: " + Arrays.toString(ciphertext));
String base64Ciphertext = Base64.getEncoder().encodeToString(ciphertext);
System.out.println(base64Ciphertext);

// Decrypt the data
final CryptoResult decryptResult =
crypto.decryptData(
kmsKeyring,
ciphertext
);

assert Arrays.equals(decryptResult.getResult(), plaintext.getBytes(StandardCharsets.UTF_8));

// The data is correct, so return it.
System.out.println("Decrypted: " + new String(decryptResult.getResult(), StandardCharsets.UTF_8));
Vollständige Fehlermeldung:

Code: Select all

Exception in thread "main" software.amazon.cryptography.materialproviders.model.CollectionOfErrors: No Configured Keyring was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.
at software.amazon.cryptography.materialproviders.model.CollectionOfErrors$BuilderImpl.build(CollectionOfErrors.java:136)
at software.amazon.cryptography.materialproviders.ToNative.Error(ToNative.java:129)
at software.amazon.cryptography.materialproviders.ToNative.Error(ToNative.java:232)
at software.amazon.cryptography.materialproviders.CryptographicMaterialsManager.DecryptMaterials(CryptographicMaterialsManager.java:48)
at com.amazonaws.encryptionsdk.CMMHandler.decryptMaterials(CMMHandler.java:100)
at com.amazonaws.encryptionsdk.internal.DecryptionHandler.readHeaderFields(DecryptionHandler.java:796)
at com.amazonaws.encryptionsdk.internal.DecryptionHandler.(DecryptionHandler.java:143)
at com.amazonaws.encryptionsdk.internal.DecryptionHandler.create(DecryptionHandler.java:465)
at com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:822)
at com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:768)
at com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:759)
at com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:734)
at com.amazonaws.encryptionsdk.keyrings.StringExample.main(StringExample.java:67)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post