Open davdwhyte87 opened 1 month ago
use rsa::{RsaPrivateKey, PaddingScheme};
// Load the server's private key (in PEM format) let private_key_pem = "-----BEGIN PRIVATE KEY-----\n..."; let private_key = RsaPrivateKey::from_pem(private_key_pem).unwrap();
// Assume encrypted_private_key
is received from the client
let encrypted_private_key = ...;
// Decrypt the private key let decrypted_private_key = private_key.decrypt(PaddingScheme::new_pkcs1v15_encrypt(), &encrypted_private_key).unwrap();
use rsa::{RsaPublicKey, PaddingScheme};
// Load the server's public key (in PEM format) let public_key_pem = "-----BEGIN PUBLIC KEY-----\n..."; let public_key = RsaPublicKey::from_pem(public_key_pem).unwrap();
// Encrypt the private key with the server's public key let private_key = b"your_private_key"; let encrypted_private_key = public_key.encrypt(&mut rand::thread_rng(), PaddingScheme::new_pkcs1v15_encrypt(), private_key).unwrap();
// Send
encrypted_private_key
to the server