/* * generate the RSA public key and private key in separate file */ void MyRSA::GenerateRSAKey(unsigned int keyLength, const char *privFilename, const char *pubFilename) { AutoSeededRandomPool rng; RSA::PrivateKey priv; priv.GenerateRandomWithKeySize(rng, 1024); if (!priv.Validate(rng, 3)) { throw("RSA key generation failed"); } HexEncoder privFile(new FileSink(privFilename)); priv.DEREncode(privFile); privFile.MessageEnd(); RSA::PublicKey pub; pub.AssignFrom(priv); HexEncoder pubFile(new FileSink(pubFilename)); pub.DEREncode(pubFile); pubFile.MessageEnd(); }
void saveRSAPubKey(RSA::PublicKey& key, const char* filename){ Base64Encoder publicKey(new FileSink(filename)); key.DEREncode(publicKey); publicKey.MessageEnd(); }