X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/615aaabaef1d13695ed625f6631c5785a966c06d..31155d60eed6d14d25979c41c031f746e51d3c7d:/lib/serializer.py diff --git a/lib/serializer.py b/lib/serializer.py index 66f69d5..9a5f1ce 100644 --- a/lib/serializer.py +++ b/lib/serializer.py @@ -112,13 +112,14 @@ def DumpSignedJson(data, key, salt=None, key_selector=None): signed_dict = { 'msg': txt, 'salt': salt, - } + } + if key_selector: signed_dict["key_selector"] = key_selector - message = salt + key_selector + txt else: - message = salt + txt - signed_dict["hmac"] = utils.Sha1Hmac(key, message) + key_selector = "" + + signed_dict["hmac"] = utils.Sha1Hmac(key, txt, salt=salt + key_selector) return DumpJson(signed_dict, indent=False) @@ -156,7 +157,8 @@ def LoadSignedJson(txt, key): key_selector = "" hmac_key = key - if not utils.VerifySha1Hmac(hmac_key, salt + key_selector + msg, hmac_sign): + if not utils.VerifySha1Hmac(hmac_key, msg, hmac_sign, + salt=salt + key_selector): raise errors.SignatureError('Invalid Signature') return LoadJson(msg), salt