from base64 import urlsafe_b64encode from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import ed25519 private_key = ed25519.Ed25519PrivateKey.generate() private_bytes = private_key.private_bytes( encoding=serialization.Encoding.Raw, format=serialization.PrivateFormat.Raw, encryption_algorithm=serialization.NoEncryption() ) with open('privkey', 'wb') as f: f.write(urlsafe_b64encode(private_bytes)) public_key = private_key.public_key() public_bytes = public_key.public_bytes( encoding=serialization.Encoding.Raw, format=serialization.PublicFormat.Raw ) with open('pubkey', 'wb') as f: f.write(urlsafe_b64encode(public_bytes))