generate-key 857 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env python3
  2. # Run example
  3. # ./scripts/generate-key
  4. # Use this to generate a signing key and verify key for use in sydent
  5. # configurations.
  6. # The signing key is generally used in "ed25519.signingkey" in the sydent config
  7. import sys
  8. import signedjson.key
  9. signing_key = signedjson.key.generate_signing_key(0)
  10. sk_str = "%s %s %s" % (
  11. signing_key.alg,
  12. signing_key.version,
  13. signedjson.key.encode_signing_key_base64(signing_key)
  14. )
  15. pk_str = signedjson.key.encode_verify_key_base64(signing_key.verify_key)
  16. if len(sys.argv) != 2 or sys.argv[1] != "--quiet":
  17. print(f"""
  18. A new key has been generated. To use it, update your sydent config file with the following:
  19. [crypto]
  20. ed25519.signingkey = {sk_str}
  21. For reference, the public (verification) key is {pk_str}
  22. """)
  23. else:
  24. print(f"""
  25. [crypto]
  26. ed25519.signingkey = {sk_str}
  27. """)