(Mono C#) Generate RSA Key and Export to Encrypted PEM
Mono C# sample showing how to generate an RSA key and export to encrypted PEM.
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Chilkat.Rsa rsa = new Chilkat.Rsa();
// Generate a 1024-bit key. Chilkat RSA supports
// key sizes ranging from 512 bits to 4096 bits.
bool success = rsa.GenerateKey(1024);
if (success != true) {
Debug.WriteLine(rsa.LastErrorText);
return;
}
// Get the private key as unencrypted XML:
string keyXml = rsa.ExportPrivateKey();
Debug.WriteLine(keyXml);
// To encrypt the key -- meaning to get the key in
// an encrypted PEM format -- load it into a PrivateKey object,
// and then export to encrypted PEM:
Chilkat.PrivateKey privKey = new Chilkat.PrivateKey();
success = privKey.LoadXml(keyXml);
if (success != true) {
Debug.WriteLine(privKey.LastErrorText);
return;
}
string strEncPem;
strEncPem = privKey.GetPkcs8EncryptedPem("myPassword");
// You now have the private key in an encrypted format,
// which may be (for example) saved to a database
|