Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) Generate RSA Key and Export to Encrypted PEMUnicode C sample showing how to generate an RSA key and export to encrypted PEM.
#include <C_CkRsaW.h> #include <C_CkPrivateKeyW.h> void ChilkatSample(void) { HCkRsaW rsa; BOOL success; const wchar_t *keyXml; HCkPrivateKeyW privKey; const wchar_t *strEncPem; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rsa = CkRsaW_Create(); // Generate a 1024-bit key. Chilkat RSA supports // key sizes ranging from 512 bits to 4096 bits. success = CkRsaW_GenerateKey(rsa,1024); if (success != TRUE) { wprintf(L"%s\n",CkRsaW_lastErrorText(rsa)); CkRsaW_Dispose(rsa); return; } // Get the private key as unencrypted XML: keyXml = CkRsaW_exportPrivateKey(rsa); wprintf(L"%s\n",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: privKey = CkPrivateKeyW_Create(); success = CkPrivateKeyW_LoadXml(privKey,keyXml); if (success != TRUE) { wprintf(L"%s\n",CkPrivateKeyW_lastErrorText(privKey)); CkRsaW_Dispose(rsa); CkPrivateKeyW_Dispose(privKey); return; } strEncPem = CkPrivateKeyW_getPkcs8EncryptedPem(privKey,L"myPassword"); // You now have the private key in an encrypted format, // which may be (for example) saved to a database CkRsaW_Dispose(rsa); CkPrivateKeyW_Dispose(privKey); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.