use HTTP to sign
This commit is contained in:
parent
005e54f80b
commit
7f6198299a
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue