I am following this example
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
and trying to reproduce the 64 character string for the
It's possible that your "strange sequence of characters" is in fact the correct output.
OpenSSL::HMAC.digest
spits out a value represented in binary, and you are comparing that to a value represented in hex
Check to see what happens when you print out the signature after converting it to hex representation like so:
signature.each_byte.map { |b| "%02x" % b }.join