MessageVerifier#verify raises InvalidSignature if the signature is blank

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
This commit is contained in:
Jeffrey Hardy
2009-10-05 08:27:54 -04:00
committed by Jeremy Kemper
parent b480da5cd6
commit 9212138ad0
2 changed files with 7 additions and 0 deletions

View File

@@ -26,6 +26,8 @@ module ActiveSupport
end
def verify(signed_message)
raise InvalidSignature if signed_message.blank?
data, digest = signed_message.split("--")
if secure_compare(digest, generate_digest(data))
Marshal.load(ActiveSupport::Base64.decode64(data))

View File

@@ -18,6 +18,11 @@ class MessageVerifierTest < Test::Unit::TestCase
assert_equal @data, @verifier.verify(message)
end
def test_missing_signature_raises
assert_not_verified(nil)
assert_not_verified("")
end
def test_tampered_data_raises
data, hash = @verifier.generate(@data).split("--")
assert_not_verified("#{data.reverse}--#{hash}")