我正在按照本指南https://gist.github.com/stefanneculai/deed108fad534d0db3ff创建亚马逊签名。
def getSignatureKey
kDate = OpenSSL::HMAC.digest('sha256', 'AWS4' + Figaro.env.aws_secret_access_key, Time.zone.now.utc.strftime('%Y%m%d'))
kRegion = OpenSSL::HMAC.digest('sha256', kDate, 'us-west-2')
kService = OpenSSL::HMAC.digest('sha256', kRegion, 's3')
kSigning = OpenSSL::HMAC.digest('sha256', kService, 'aws4_request')
kSigning
end
我正在将 froala gem 用于导轨并使用该imageUploadToS3
选项。但是,在使用新的 Amazon 签名版本时出现此错误。
Encoding::UndefinedConversionError at /admin/campaigns/1/edit_content
"\xAC" from ASCII-8BIT to UTF-8
我试图将其更改为getSignatureKey.force_encoding("ISO-8859-1").encode("UTF-8")
. 之后,服务器运行良好,当我上传图片时,我SignatureDoesNotMatch
从亚马逊返回。
任何帮助将非常感激。