in src/main/java/com/amazonaws/encryptionsdk/AwsCrypto.java [100:125]
private AwsCrypto(Builder builder) {
commitmentPolicy_ =
builder.commitmentPolicy_ == null ? DEFAULT_COMMITMENT_POLICY : builder.commitmentPolicy_;
if (builder.encryptionAlgorithm_ != null
&& !commitmentPolicy_.algorithmAllowedForEncrypt(builder.encryptionAlgorithm_)) {
if (commitmentPolicy_ == CommitmentPolicy.ForbidEncryptAllowDecrypt) {
throw new AwsCryptoException(
"Configuration conflict. Cannot encrypt due to CommitmentPolicy "
+ commitmentPolicy_
+ " requiring only non-committed messages. Algorithm ID was "
+ builder.encryptionAlgorithm_
+ ". See: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/troubleshooting-migration.html");
} else {
throw new AwsCryptoException(
"Configuration conflict. Cannot encrypt due to CommitmentPolicy "
+ commitmentPolicy_
+ " requiring only committed messages. Algorithm ID was "
+ builder.encryptionAlgorithm_
+ ". See: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/troubleshooting-migration.html");
}
}
encryptionAlgorithm_ = builder.encryptionAlgorithm_;
encryptionFrameSize_ = builder.encryptionFrameSize_;
maxEncryptedDataKeys_ = builder.maxEncryptedDataKeys_;
materialProviders_ = builder.materialProviders_;
}