class OAuth::Signature::RSA::SHA1

Public Instance Methods

==(cmp_signature) click to toggle source
# File lib/oauth/signature/rsa/sha1.rb, line 7
def ==(cmp_signature)
  public_key.verify(OpenSSL::Digest::SHA1.new, Base64.decode64(cmp_signature.is_a?(Array) ? cmp_signature.first : cmp_signature), signature_base_string)
end
body_hash() click to toggle source
# File lib/oauth/signature/rsa/sha1.rb, line 21
def body_hash
  Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
end
public_key() click to toggle source
# File lib/oauth/signature/rsa/sha1.rb, line 11
def public_key
  if consumer_secret.is_a?(String)
    decode_public_key
  elsif consumer_secret.is_a?(OpenSSL::X509::Certificate)
    consumer_secret.public_key
  else
    consumer_secret
  end
end

Private Instance Methods

decode_public_key() click to toggle source
# File lib/oauth/signature/rsa/sha1.rb, line 27
def decode_public_key
  case consumer_secret
  when /-----BEGIN CERTIFICATE-----/
    OpenSSL::X509::Certificate.new(consumer_secret).public_key
  else
    OpenSSL::PKey::RSA.new(consumer_secret)
  end
end
digest() click to toggle source
# File lib/oauth/signature/rsa/sha1.rb, line 36
def digest
  private_key = OpenSSL::PKey::RSA.new(
    if options[:private_key_file]
      IO.read(options[:private_key_file])
    elsif options[:private_key]
      options[:private_key]
    else
      consumer_secret
    end
  )

  private_key.sign(OpenSSL::Digest::SHA1.new, signature_base_string)
end