diff --git a/lms/djangoapps/verify_student/models.py b/lms/djangoapps/verify_student/models.py index bef2d2be7f..c35a1cb2a3 100644 --- a/lms/djangoapps/verify_student/models.py +++ b/lms/djangoapps/verify_student/models.py @@ -476,7 +476,7 @@ class SoftwareSecurePhotoVerification(PhotoVerification): body = { "EdX-ID": str(self.receipt_id), - "ExpectedName": self.user.profile.name, + "ExpectedName": self.name, "PhotoID": self.image_url("photo_id"), "PhotoIDKey": self.photo_id_key, "SendResponseTo": callback_url, diff --git a/lms/djangoapps/verify_student/ssencrypt.py b/lms/djangoapps/verify_student/ssencrypt.py index 8e448e5b29..862c5aa021 100644 --- a/lms/djangoapps/verify_student/ssencrypt.py +++ b/lms/djangoapps/verify_student/ssencrypt.py @@ -131,7 +131,8 @@ def generate_signed_message(method, headers_dict, body_dict, access_key, secret_ body_str = body_string(body_dict) message = headers_str + body_str - hashed = hmac.new(secret_key, message, sha256) + # hmac needs a byte string for it's starting key, can't be unicode. + hashed = hmac.new(secret_key.encode('utf-8'), message, sha256) signature = binascii.b2a_base64(hashed.digest()).rstrip('\n') authorization_header = "SSI {}:{}".format(access_key, signature) @@ -161,7 +162,7 @@ def body_string(body_dict): for key, value in sorted(body_dict.items()): if value is None: value = "null" - body_list.append(u"{}:{}\n".format(key, value)) + body_list.append(u"{}:{}\n".format(key, value).encode('utf-8')) return "".join(body_list) # Note that trailing \n's are important