Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Generate RSA Key and Export to Encrypted PEMMFC sample showing how to generate an RSA key and export to encrypted PEM.
#include <CkRsa.h> #include <CkPrivateKey.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkRsa 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) { strOut.append(rsa.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Get the private key as unencrypted XML: const char *keyXml = rsa.exportPrivateKey(); strOut.append(keyXml); strOut.append("\r\n"); // 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: CkPrivateKey privKey; success = privKey.LoadXml(keyXml); if (success != true) { strOut.append(privKey.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } const char *strEncPem = 0; strEncPem = privKey.getPkcs8EncryptedPem("myPassword"); // You now have the private key in an encrypted format, // which may be (for example) saved to a database SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.