module AWS::Core::Signature::Version3
Public Class Methods
included(base)
click to toggle source
# File lib/aws/core/signature/version_3.rb, line 22 def self.included base base.send(:include, Signer) end
Public Instance Methods
Protected Instance Methods
canonical_headers()
click to toggle source
# File lib/aws/core/signature/version_3.rb, line 59 def canonical_headers headers_to_sign.map do |name| value = headers[name] "#{name.downcase.strip}:#{value.strip}\n" end.sort.join end
headers_to_sign()
click to toggle source
# File lib/aws/core/signature/version_3.rb, line 66 def headers_to_sign headers.keys.select do |header| header == "host" || header == "content-encoding" || header =~ /^x-amz/ end end
signature(credentials)
click to toggle source
# File lib/aws/core/signature/version_3.rb, line 45 def signature credentials Signer.sign(credentials.secret_access_key, string_to_sign) end
string_to_sign()
click to toggle source
# File lib/aws/core/signature/version_3.rb, line 49 def string_to_sign OpenSSL::Digest::SHA256.digest([ http_method, "/", "", canonical_headers, body ].join("\n")) end