Class: OAuth::Signature::RSA::SHA1
- Defined in:
- lib/oauth/signature/rsa/sha1.rb
Instance Attribute Summary
Attributes inherited from Base
#consumer_secret, #options, #request, #token_secret
Instance Method Summary collapse
Methods inherited from Base
implements, #initialize, #signature, #signature_base_string, #verify
Methods included from Helper
_escape, escape, generate_key, generate_timestamp, normalize, normalize_nested_query, parse_header, stringify_keys, unescape
Constructor Details
This class inherits a constructor from OAuth::Signature::Base
Instance Method Details
#==(other) ⇒ Object
11 12 13 14 |
# File 'lib/oauth/signature/rsa/sha1.rb', line 11 def ==(other) decoded = Base64.decode64(other.is_a?(Array) ? other.first : other) public_key.verify(OpenSSL::Digest.new("SHA1"), decoded, signature_base_string) end |
#body_hash ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/oauth/signature/rsa/sha1.rb', line 27 def body_hash # Use SHA1 body hash with compatibility across OpenSSL versions data = request.body || "" begin digest_bytes = OpenSSL::Digest.digest("SHA1", data) rescue StandardError digest_bytes = ::Digest::SHA1.digest(data) end Base64.encode64(digest_bytes).chomp.delete("\n") end |
#public_key ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/oauth/signature/rsa/sha1.rb', line 16 def public_key case consumer_secret when String decode_public_key when OpenSSL::X509::Certificate consumer_secret.public_key else consumer_secret end end |