Я пытаюсь проверить с S3 Put Object, используя локальный хэш осущ следующим образом:AWS PutObjectResponse.ETag Несовпадение
MD5 md5 = MD5.Create();
byte[] inputBytes = Encoding.ASCII.GetBytes(str);
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
foreach (byte byt in hash)
{
sb.Append(byt.ToString("X2"));
}
return sb.ToString().ToLower();
Из AWS документации это должно соответствовать свойству PutObjectResponse.ETag, который основан на теле содержимого (не Meta) моего запроса. В этом случае я купил документ JSON, который является источником моего хэша.
Все в порядке, за исключением случаев, когда я использую AWS Managed KMS на стороне сервера, с которой мои хэши не совпадают. Невозможно ли проверить тело контента на отправленное сообщение, поскольку он выглядит, что хеш-файл ETAG основан на зашифрованном контенте контента, а не на исходном содержимом PUT.