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
(Delphi DLL) Generate RSA Key and Export to Encrypted PEMDelphi DLL sample showing how to generate an RSA key and export to encrypted PEM.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, PrivateKey, Rsa; ... procedure TForm1.Button1Click(Sender: TObject); var rsa: HCkRsa; success: Boolean; keyXml: PWideChar; privKey: HCkPrivateKey; strEncPem: PWideChar; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rsa := CkRsa_Create(); // Generate a 1024-bit key. Chilkat RSA supports // key sizes ranging from 512 bits to 4096 bits. success := CkRsa_GenerateKey(rsa,1024); if (success <> True) then begin Memo1.Lines.Add(CkRsa__lastErrorText(rsa)); Exit; end; // Get the private key as unencrypted XML: keyXml := CkRsa__exportPrivateKey(rsa); Memo1.Lines.Add(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 := CkPrivateKey_Create(); success := CkPrivateKey_LoadXml(privKey,keyXml); if (success <> True) then begin Memo1.Lines.Add(CkPrivateKey__lastErrorText(privKey)); Exit; end; strEncPem := CkPrivateKey__getPkcs8EncryptedPem(privKey,'myPassword'); // You now have the private key in an encrypted format, // which may be (for example) saved to a database CkRsa_Dispose(rsa); CkPrivateKey_Dispose(privKey); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.