23 lines
714 B
Python
23 lines
714 B
Python
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))
|