Невозможно воспроизвести подпись AWS из примера с использованием HMAC SHA256

Я следую этому примеру

http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html

и пытается воспроизвести 64-символьную строку для подписи, которую они заявляют как ...

aeeed9bbccd4d02ee5c0109b86d86835f995330da4c265957d157751f604d404

Я успешно сопоставил шестнадцатеричный набор параметров для канонического запроса и уверен, что строка StringToSign верна.

Последний кусок вычисляет подписывающий ключ и подпись. Здесь я бью дорожный блок, используя предоставленную функцию ruby ​​'getSignatureKey'

http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-ruby

signing_key = getSignatureKey secret_access_key, current_date, region, aws_service
signature = OpenSSL::HMAC.digest('sha256', signing_key, string_to_sign)


 def getSignatureKey key, dateStamp, regionName, serviceName
  kDate    = OpenSSL::HMAC.digest('sha256', "AWS4" + key, dateStamp)
  kRegion  = OpenSSL::HMAC.digest('sha256', kDate, regionName)
  kService = OpenSSL::HMAC.digest('sha256', kRegion, serviceName)
  kSigning = OpenSSL::HMAC.digest('sha256', kService, "aws4_request")

  kSigning
end

Текущий вывод для «сигнатуры» - это странная последовательность символов.

ٻ . h5 3 e } wQ

Чего мне не хватает, чтобы получить подпись равной ...

aeeed9bbccd4d02ee5c0109b86d86835f995330da4c265957d157751f604d404

Ответы на вопрос(2)

Ваш ответ на вопрос