synapse-config/generate_signing_key
2024-04-13 17:33:38 +03:00

27 lines
684 B
Text

# Generate a signing key for synapse from the command line
#
# Usage: python3 generate_signing_key
#
# You must have the signedjson package installed:
# apt install python3-signedjson
# pip3 install signedjson
#
# Author: Abel Luck <abel@guardianproject.info>
# Created: April 25 2019
# Updated: October 11 2021
import random
import string
import io
from signedjson.key import generate_signing_key, write_signing_keys
def random_string(length):
return ''.join(random.choice(string.ascii_letters) for _ in range(length))
key_id = "a_" + random_string(4)
with io.StringIO() as f:
write_signing_keys(f, (generate_signing_key(key_id),),)
f.seek(0)
print(f.read())