28 lines
684 B
Text
28 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())
|