Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Generate an RSA Key and Save to Encrypted PEMSee more RSA ExamplesDemonstrates how to generate an RSA key and save to an encrypted PEM file.
#include <C_CkRsa.h> #include <C_CkPrivateKey.h> #include <C_CkPublicKey.h> void ChilkatSample(void) { HCkRsa rsa; BOOL success; HCkPrivateKey privKey; const char *password; const char *path; HCkPublicKey pubKey; BOOL preferPkcs1; rsa = CkRsa_Create(); // Generate a 2048-bit key. success = CkRsa_GenerateKey(rsa,2048); if (success == FALSE) { printf("%s\n",CkRsa_lastErrorText(rsa)); CkRsa_Dispose(rsa); return; } privKey = CkRsa_ExportPrivateKeyObj(rsa); password = "secret"; // Saving to a relative path (from the current working directory of the process). path = "rsaKeys/myTestRsaPrivate.pem"; // Encrypt the PEM using 256-bit AES encryption. CkPrivateKey_putPkcs8EncryptAlg(privKey,"aes256"); success = CkPrivateKey_SavePkcs8EncryptedPemFile(privKey,password,path); if (success == FALSE) { printf("%s\n",CkPrivateKey_lastErrorText(privKey)); CkRsa_Dispose(rsa); return; } CkPrivateKey_Dispose(privKey); // // We can also save the public key. // There is no need to encrypt public keys. pubKey = CkRsa_ExportPublicKeyObj(rsa); path = "rsaKeys/myTestRsaPublic.pem"; // Choose PKCS1 or PKCS8 // We'll choose PKCS8. preferPkcs1 = FALSE; success = CkPublicKey_SavePemFile(pubKey,preferPkcs1,path); if (success == FALSE) { printf("%s\n",CkPublicKey_lastErrorText(pubKey)); CkRsa_Dispose(rsa); return; } CkPublicKey_Dispose(pubKey); // printf("Success.\n"); CkRsa_Dispose(rsa); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.