class Aws::CloudFront::UrlSigner

def signature(params = {})

Options Hash: (**param)
  • :policy (String) --
  • :expires (Integer) --
  • :resource (String) --
def signature(params = {})
  signature_content = []
  if params[:policy]
    policy = params[:policy].gsub('/\s/s', '')
    signature_content << "Policy=#{encode(policy)}"
  elsif params[:resource] && params[:expires]
    policy = canned_policy(params[:resource], params[:expires])
    signature_content << "Expires=#{params[:expires]}"
  else
    msg = "Either a policy or a resource with an expiration time must be provided."
    raise ArgumentError, msg
  end
  signature_content << "Signature=#{encode(sign_policy(policy))}"
  signature_content << "Key-Pair-Id=#{@key_pair_id}"
  signature_content.join('&').gsub("\n", '')
end