in src/main/java/com/amazonaws/encryptionsdk/CMMHandler.java [105:130]
private DecryptMaterialsInput getDecryptMaterialsInput(
DecryptionMaterialsRequest request, CommitmentPolicy commitmentPolicy) {
List<KeyBlob> keyBlobs = request.getEncryptedDataKeys();
List<software.amazon.cryptography.materialproviders.model.EncryptedDataKey> edks =
new ArrayList<>(keyBlobs.size());
for (KeyBlob keyBlob : keyBlobs) {
edks.add(
EncryptedDataKey.builder()
.keyProviderId(keyBlob.getProviderId())
.keyProviderInfo(
ByteBuffer.wrap(
keyBlob.getProviderInformation(), 0, keyBlob.getProviderInformation().length))
.ciphertext(
ByteBuffer.wrap(
keyBlob.getEncryptedDataKey(), 0, keyBlob.getEncryptedDataKey().length))
.build());
}
return DecryptMaterialsInput.builder()
.encryptionContext(request.getEncryptionContext())
.reproducedEncryptionContext(request.getReproducedEncryptionContext())
.algorithmSuiteId(request.getAlgorithm().getAlgorithmSuiteId())
.commitmentPolicy(commitmentPolicy.getMplCommitmentPolicy())
.encryptedDataKeys(edks)
.build();
}