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
(Delphi ActiveX) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var rsa: TChilkatRsa; success: Integer; privKey: IPrivateKey; password: WideString; path: WideString; pubKey: IPublicKey; preferPkcs1: Integer; begin rsa := TChilkatRsa.Create(Self); // Generate a 2048-bit key. success := rsa.GenerateKey(2048); if (success = 0) then begin Memo1.Lines.Add(rsa.LastErrorText); Exit; end; privKey := rsa.ExportPrivateKeyObj(); 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. privKey.Pkcs8EncryptAlg := 'aes256'; success := privKey.SavePkcs8EncryptedPemFile(password,path); if (success = 0) then begin Memo1.Lines.Add(privKey.LastErrorText); Exit; end; // // We can also save the public key. // There is no need to encrypt public keys. pubKey := rsa.ExportPublicKeyObj(); path := 'rsaKeys/myTestRsaPublic.pem'; // Choose PKCS1 or PKCS8 // We'll choose PKCS8. preferPkcs1 := 0; success := pubKey.SavePemFile(preferPkcs1,path); if (success = 0) then begin Memo1.Lines.Add(pubKey.LastErrorText); Exit; end; // Memo1.Lines.Add('Success.'); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.