Skip to main content

cargo_codesign/
keygen.rs

1use base64::{engine::general_purpose::STANDARD, Engine};
2use ed25519_dalek::SigningKey;
3use rand_core::OsRng;
4
5pub fn generate_keypair() -> Result<(String, String), Box<dyn std::error::Error>> {
6    let signing_key = SigningKey::generate(&mut OsRng);
7    let verifying_key = signing_key.verifying_key();
8
9    let private_b64 = STANDARD.encode(signing_key.to_bytes());
10    let public_b64 = STANDARD.encode(verifying_key.to_bytes());
11
12    Ok((private_b64, public_b64))
13}