class HttpSignatures::Verification
Public Class Methods
new(message:, key_store:)
click to toggle source
# File lib/http_signatures/verification.rb, line 4 def initialize(message:, key_store:) @message = message @key_store = key_store end
Public Instance Methods
valid?()
click to toggle source
# File lib/http_signatures/verification.rb, line 9 def valid? signature_header_present? && VerificationAlgorithm.create(algorithm).valid?( message: @message, key: key, header_list: header_list, provided_signature_base64: provided_signature_base64 ) rescue SignatureParametersParser::Error false end
Private Instance Methods
algorithm()
click to toggle source
# File lib/http_signatures/verification.rb, line 34 def algorithm Algorithm.create(parsed_parameters["algorithm"]) end
fetch_header(name)
click to toggle source
# File lib/http_signatures/verification.rb, line 46 def fetch_header(name) @message.fetch(name) end
header_list()
click to toggle source
# File lib/http_signatures/verification.rb, line 38 def header_list HeaderList.from_string(parsed_parameters["headers"]) end
key()
click to toggle source
# File lib/http_signatures/verification.rb, line 30 def key @key_store.fetch(parsed_parameters["keyId"]) end
parsed_parameters()
click to toggle source
# File lib/http_signatures/verification.rb, line 42 def parsed_parameters @_parsed_parameters ||= SignatureParametersParser.new(fetch_header("Signature")).parse end
provided_signature_base64()
click to toggle source
# File lib/http_signatures/verification.rb, line 26 def provided_signature_base64 parsed_parameters.fetch("signature") end
signature_header_present?()
click to toggle source
# File lib/http_signatures/verification.rb, line 22 def signature_header_present? @message.key?("Signature") end