Server infrastructure (Ansible, Docker, v1 docs) moves to prowler-server/. Client application (PRD v2, SDD v2, design system) lives in prowler-client/. Top-level README links both projects. 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land>
32 lines
1020 B
Python
32 lines
1020 B
Python
import base64
|
|
from cryptography.hazmat.primitives import serialization
|
|
from cryptography.hazmat.primitives.asymmetric import x25519
|
|
|
|
def generate_key_pair():
|
|
private_key = x25519.X25519PrivateKey.generate()
|
|
public_key = private_key.public_key()
|
|
|
|
private_bytes = private_key.private_bytes(
|
|
encoding=serialization.Encoding.Raw,
|
|
format=serialization.PrivateFormat.Raw,
|
|
encryption_algorithm=serialization.NoEncryption()
|
|
)
|
|
|
|
public_bytes = public_key.public_bytes(
|
|
encoding=serialization.Encoding.Raw,
|
|
format=serialization.PublicFormat.Raw
|
|
)
|
|
|
|
return {
|
|
"private": base64.b64encode(private_bytes).decode("utf-8"),
|
|
"public": base64.b64encode(public_bytes).decode("utf-8")
|
|
}
|
|
|
|
exit_keys = generate_key_pair()
|
|
relay_keys = generate_key_pair()
|
|
|
|
print(f"exit_private: {exit_keys['private']}")
|
|
print(f"exit_public: {exit_keys['public']}")
|
|
print(f"relay_private: {relay_keys['private']}")
|
|
print(f"relay_public: {relay_keys['public']}")
|