Skip to content

Commit 1dc8b80

Browse files
committed
Make s_utils.signature work in python3
This function will need to be extended to work with more character sets if utf-8 is not enough.
1 parent 994d11b commit 1dc8b80

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/saml2/s_utils.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,16 @@ def factory(klass, **kwargs):
372372

373373

374374
def signature(secret, parts):
375-
"""Generates a signature.
375+
"""Generates a signature. All strings are assumed to be utf-8
376376
"""
377+
if not isinstance(secret, six.binary_type):
378+
secret = secret.encode('utf-8')
379+
newparts = []
380+
for part in parts:
381+
if not isinstance(part, six.binary_type):
382+
part = part.encode('utf-8')
383+
newparts.append(part)
384+
parts = newparts
377385
if sys.version_info >= (2, 5):
378386
csum = hmac.new(secret, digestmod=hashlib.sha1)
379387
else:

0 commit comments

Comments
 (0)