Sample code for 30+ languages & platforms
.NET Core C#

RSA Encrypt and OpenSSL Decrypt

See more OpenSSL Examples

Demonstrates how to use Chilkat to RSA encrypt, and then use OpenSSL to decrypt.

Chilkat .NET Core C# Downloads

.NET Core C#
bool success = false;

// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Chilkat.Rsa rsa = new Chilkat.Rsa();

Chilkat.PrivateKey privKey = new Chilkat.PrivateKey();
success = rsa.GenKey(2048,privKey);
success = privKey.SavePkcs8PemFile("qa_output/privKey.pem");

Chilkat.PublicKey pubKey = new Chilkat.PublicKey();
privKey.ToPublicKey(pubKey);

rsa.EncodingMode = "base64";
string plainText = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890";
bool bUsePrivateKey = false;
rsa.UsePublicKey(pubKey);
string encryptedStr = rsa.EncryptStringENC(plainText,bUsePrivateKey);

Chilkat.BinData bd = new Chilkat.BinData();
bd.AppendEncoded(encryptedStr,"base64");
success = bd.WriteFile("qa_output/enc.dat");

// The OpenSSL command to decrypt is:
// openssl pkeyutl -in enc.dat -inkey privKey.pem -keyform PEM -pkeyopt rsa_padding_mode:pkcs1 -decrypt

Debug.WriteLine("OK");