Issue #15225: improve error message when hmac is passed a wrong key type.

Patch by Marc Abramowitz.
This commit is contained in:
Antoine Pitrou 2012-06-30 17:27:56 +02:00
parent 9c7817e9ee
commit 24ef3e967f
3 changed files with 14 additions and 1 deletions

View File

@ -35,7 +35,7 @@ class HMAC:
"""
if not isinstance(key, bytes):
raise TypeError("expected bytes, but got %r" % type(key).__name__)
raise TypeError("key: expected bytes, but got %r" % type(key).__name__)
if digestmod is None:
import hashlib

View File

@ -234,6 +234,18 @@ class ConstructorTestCase(unittest.TestCase):
except:
self.fail("Standard constructor call raised exception.")
def test_with_str_key(self):
# Pass a key of type str, which is an error, because it expects a key
# of type bytes
with self.assertRaises(TypeError):
h = hmac.HMAC("key")
def test_dot_new_with_str_key(self):
# Pass a key of type str, which is an error, because it expects a key
# of type bytes
with self.assertRaises(TypeError):
h = hmac.new("key")
def test_withtext(self):
# Constructor call with text.
try:

View File

@ -13,6 +13,7 @@ and the list is in rough alphabetical order by last names.
Rajiv Abraham
David Abrahams
Marc Abramowitz
Ron Adam
Ali Afshar
Jim Ahlstrom