diff options
author | Erik Johnston <erik@matrix.org> | 2019-01-25 17:17:38 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-01-29 11:12:38 +0000 |
commit | 554ca58ea1729804f413630b98fd158f324041a0 (patch) | |
tree | ada4ed3bc8635d8fca2dc5b880ec190f8eeabac9 /synapse/crypto/event_signing.py | |
parent | Merge pull request #4494 from matrix-org/erikj/fixup_event_validator (diff) | |
download | synapse-554ca58ea1729804f413630b98fd158f324041a0.tar.xz |
Make add_hashes_and_signatures operate on dicts
Diffstat (limited to 'synapse/crypto/event_signing.py')
-rw-r--r-- | synapse/crypto/event_signing.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/synapse/crypto/event_signing.py b/synapse/crypto/event_signing.py index d01ac5075c..1dfa727fcf 100644 --- a/synapse/crypto/event_signing.py +++ b/synapse/crypto/event_signing.py @@ -131,12 +131,12 @@ def compute_event_signature(event_dict, signature_name, signing_key): return redact_json["signatures"] -def add_hashes_and_signatures(event, signature_name, signing_key, +def add_hashes_and_signatures(event_dict, signature_name, signing_key, hash_algorithm=hashlib.sha256): """Add content hash and sign the event Args: - event_dict (EventBuilder): The event to add hashes to and sign + event_dict (dict): The event to add hashes to and sign signature_name (str): The name of the entity signing the event (typically the server's hostname). signing_key (syutil.crypto.SigningKey): The key to sign with @@ -144,16 +144,12 @@ def add_hashes_and_signatures(event, signature_name, signing_key, to hash the event """ - name, digest = compute_content_hash( - event.get_pdu_json(), hash_algorithm=hash_algorithm, - ) + name, digest = compute_content_hash(event_dict, hash_algorithm=hash_algorithm) - if not hasattr(event, "hashes"): - event.hashes = {} - event.hashes[name] = encode_base64(digest) + event_dict.setdefault("hashes", {})[name] = encode_base64(digest) - event.signatures = compute_event_signature( - event.get_pdu_json(), + event_dict["signatures"] = compute_event_signature( + event_dict, signature_name=signature_name, signing_key=signing_key, ) |