Method: EC2::Client#aws_sign

Defined in:
lib/ec2cli/ec2-client.rb

#aws_sign(params) ⇒ Object



100
101
102
103
104
105
# File 'lib/ec2cli/ec2-client.rb', line 100

def aws_sign(params)
  params = params.sort_by {|a, b| a.to_s }.map {|k, v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" }.join('&')
  string_to_sign = "POST\n#{@endpoint}\n/\n#{params}"
  digest = OpenSSL::HMAC.digest(OpenSSL::Digest.const_get(SIGNATURE_ALGORITHM).new, @secretAccessKey, string_to_sign)
  Base64.encode64(digest).gsub("\n", '')
end