internal static void EnsureSupportedAlgorithms()

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
            }
        }