Могу зашифровать без каких-либо проблем, но при расшифровке возникает ошибка. >
Ошибка: Ни один настроенный набор ключей не смог расшифровать ключ данных. Список обнаруженных исключений доступен через list.
Пожалуйста, найдите ниже Java-код
Код: Выделить всё
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));
Исключение в потоке «main» Software.amazon.cryptography.materialproviders.model.CollectionOfErrors: ни один настроенный набор ключей не смог выполнить расшифровать ключ данных. Список обнаруженных исключений доступен через list.
по адресу Software.amazon.cryptography.materialproviders.model.CollectionOfErrors$BuilderImpl.build(CollectionOfErrors.java:136)
по адресу Software.amazon. cryptography.materialproviders.ToNative.Error(ToNative.java:129)
at Software.amazon.cryptography.materialproviders.ToNative.Error(ToNative.java:232)
на программном обеспечении.amazon.cryptography.materialproviders.CryptographicMaterialsManager.DecryptMaterials(CryptographicMaterialsManager.java:48)
на com.amazonaws.encryptionsdk.CMMHandler.decryptMaterials(CMMHandler.java:100)
на com.amazonaws.encryptionsdk.internal.DecryptionHandler.readHeaderFields(DecryptionHandler.java:796)
на com.amazonaws.encryptionsdk.internal.DecryptionHandler.(DecryptionHandler.java:143)
на com.amazonaws.encryptionsdk.internal.DecryptionHandler.create(DecryptionHandler.java:465)
на com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:822)
на com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:768)
на com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:759)
на com.amazonaws.encryptionsdk.AwsCrypto.decryptData(AwsCrypto.java:734)
на com.amazonaws.encryptionsdk.keyrings.StringExample.main(StringExample.java:67)
Подробнее здесь: https://stackoverflow.com/questions/793 ... ncountered
Мобильная версия