mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 08:56:04 -04:00
Make prev_event signing work again.
This commit is contained in:
parent
2f39dc19a2
commit
d30d79b5be
3 changed files with 18 additions and 8 deletions
|
@ -16,11 +16,12 @@
|
|||
|
||||
|
||||
from synapse.federation.units import Pdu
|
||||
from synapse.api.events.utils import prune_pdu
|
||||
from synapse.api.events.utils import prune_pdu, prune_event
|
||||
from syutil.jsonutil import encode_canonical_json
|
||||
from syutil.base64util import encode_base64, decode_base64
|
||||
from syutil.crypto.jsonsign import sign_json, verify_signed_json
|
||||
|
||||
import copy
|
||||
import hashlib
|
||||
import logging
|
||||
|
||||
|
@ -69,6 +70,16 @@ def compute_pdu_event_reference_hash(pdu, hash_algorithm=hashlib.sha256):
|
|||
return (hashed.name, hashed.digest())
|
||||
|
||||
|
||||
def compute_event_reference_hash(event, hash_algorithm=hashlib.sha256):
|
||||
tmp_event = copy.deepcopy(event)
|
||||
tmp_event = prune_event(tmp_event)
|
||||
event_json = tmp_event.get_dict()
|
||||
event_json.pop("signatures", None)
|
||||
event_json_bytes = encode_canonical_json(event_json)
|
||||
hashed = hash_algorithm(event_json_bytes)
|
||||
return (hashed.name, hashed.digest())
|
||||
|
||||
|
||||
def sign_event_pdu(pdu, signature_name, signing_key):
|
||||
tmp_pdu = Pdu(**pdu.get_dict())
|
||||
tmp_pdu = prune_pdu(tmp_pdu)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue