Class: AWS::URL::Signature

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/url/signature.rb

Overview

Internal: A signature builder.

Constant Summary collapse

SHA256 =
OpenSSL::Digest::SHA256.new

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(secret, message) ⇒ Signature

Returns a new instance of Signature.



17
18
19
20
# File 'lib/aws/url/signature.rb', line 17

def initialize(secret, message)
  @secret  = secret
  @message = message
end

Class Method Details

.build(secret, message) ⇒ Object

Builds a signature.

secret - A String AWS secret key. message - The String to sign.

Returns a String signature.



13
14
15
# File 'lib/aws/url/signature.rb', line 13

def self.build(secret, message)
  new(secret, message).build
end

Instance Method Details

#buildObject



22
23
24
# File 'lib/aws/url/signature.rb', line 22

def build
  Base64.encode64(digest).chomp
end

#digestObject



26
27
28
# File 'lib/aws/url/signature.rb', line 26

def digest
  OpenSSL::HMAC.digest SHA256, @secret, @message
end