Sha256: 12e5d6900e7f45307f2b8230c90855a2d7e7a22ca934d73d8d08ef0a6f11082b

Contents?: true

Size: 673 Bytes

Versions: 1

Compression:

Stored size: 673 Bytes

Contents

module BitsService
  module SignatureUtil
    def sign_signature(resource_path, key_secret, key_id)
      expires = seconds_since_the_unix_epoch_with_offset(3600)
      signature_parts = "#{expires}#{resource_path}#{' '}#{key_secret}"
      digest = OpenSSL::Digest::SHA256.new
      hmac = OpenSSL::HMAC.new(key_secret, digest)
      signature=OpenSSL::HMAC.hexdigest(digest, key_secret, signature_parts)
      signed_path = "#{resource_path}?signature=#{signature}&expires=#{expires}&AccessKeyId=#{key_id}"
      return signed_path
    end

    def seconds_since_the_unix_epoch_with_offset(offset)
      t = Time.now.utc + offset
      t.strftime('%s')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bits_service_client-4.0.0.pre.1 lib/util/signature_util.rb