use HTTP to sign

This commit is contained in:
Seth Call 2021-02-08 22:58:53 -06:00
parent 005e54f80b
commit 7f6198299a
1 changed files with 2 additions and 1 deletions

View File

@ -29,13 +29,14 @@ module JamRuby
"http#{options[:secure] ? "s" : ""}://s3.amazonaws.com/#{@aws_bucket}/#{filename}"
end
# XXX: the client can not support HTTPS atm!!! AGH
def upload_sign(filename, content_md5, part_number, upload_id)
hdt = http_date_time
str_to_sign = "PUT\n#{content_md5}\n#{content_type}\n#{hdt}\n/#{@aws_bucket}/#{filename}?partNumber=#{part_number}&uploadId=#{upload_id}"
signature = Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'), @aws_secret, str_to_sign)).chomp
{ :datetime => hdt,
:md5 => content_md5,
:url => "https://s3.amazonaws.com/#{@aws_bucket}/#{filename}?partNumber=#{part_number}&uploadId=#{upload_id}",
:url => "http://s3.amazonaws.com/#{@aws_bucket}/#{filename}?partNumber=#{part_number}&uploadId=#{upload_id}",
:authorization => "AWS #{@aws_key}:#{signature}"
}
end