in src/EncryptionUtils.cs [357:378]
internal static void EnsureSupportedAlgorithms(MetadataCollection metadata)
{
if (metadata[XAmzKeyV2] != null)
{
var xAmzWrapAlgMetadataValue = metadata[XAmzWrapAlg];
if (!SupportedWrapAlgorithms.Contains(xAmzWrapAlgMetadataValue))
{
#pragma warning disable 0618
throw new InvalidDataException($"Value '{xAmzWrapAlgMetadataValue}' for metadata key '{XAmzWrapAlg}' is invalid." +
$"{typeof(AmazonS3EncryptionClient).Name} only supports '{XAmzWrapAlgKmsValue}' as the key wrap algorithm. {ModeMessage}");
#pragma warning restore 0618
}
var xAmzCekAlgMetadataValue = metadata[XAmzCekAlg];
if (!(SupportedCekAlgorithms.Contains(xAmzCekAlgMetadataValue)))
#pragma warning disable 0618
throw new InvalidDataException(string.Format(CultureInfo.InvariantCulture,
"Value '{0}' for metadata key '{1}' is invalid. {2} only supports '{3}' as the content encryption algorithm. {4}",
xAmzCekAlgMetadataValue, XAmzCekAlg, typeof(AmazonS3EncryptionClient).Name, XAmzAesCbcPaddingCekAlgValue, ModeMessage));
#pragma warning restore 0618
}
}