module AliyunSDK::STS::Util
Util
functions to help generate formatted Date, signatures, etc.
Public Class Methods
get_signature(verb, params, key)
click to toggle source
Calculate request signatures
# File lib/aliyun_sdk/sts/util.rb, line 21 def get_signature(verb, params, key) logger.debug("Sign, verb: #{verb}, params: #{params}") cano_query = params.sort.map { |k, v| [CGI.escape(k), CGI.escape(v)].join('=') }.join('&') string_to_sign = verb + '&' + CGI.escape('/') + '&' + CGI.escape(cano_query) logger.debug("String to sign: #{string_to_sign}") Util.sign(key + '&', string_to_sign) end
sign(key, string_to_sign)
click to toggle source
Sign a string using HMAC and BASE64 @param [String] key the secret key @param [String] string_to_sign the string to sign @return [String] the signature
# File lib/aliyun_sdk/sts/util.rb, line 39 def sign(key, string_to_sign) Base64.strict_encode64( OpenSSL::HMAC.digest('sha1', key, string_to_sign)) end