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 |