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}