Sample code for 30+ languages & platforms
Delphi ActiveX

Convert RSA Private Key to Public Key

See more RSA Examples

Demonstrates how to get a public RSA key from a private RSA key.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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
success: Integer;
privKey: TPrivateKey;
pubKey: TPublicKey;
bPreferPkcs1: Integer;

begin
success := 0;

privKey := TPrivateKey.Create(Self);

// Step 1: Load the private key from a source.
// (Chilkat can load private keys from all types of formats, and from in-memory bytes or encoded strings.
// see the online reference documentation for more options.)
success := privKey.LoadPemFile('qa_data/pem/VP_Private.pem');
if (success = 0) then
  begin
    Memo1.Lines.Add(privKey.LastErrorText);
    Exit;
  end;

// Step 2: Get the public key object from the private key object.
pubKey := TPublicKey.Create(Self);
privKey.ToPublicKey(pubKey.ControlInterface);

// Step 3: Save the public key in a desired format. 
// (Chilkat can load or save public and private keys in many different formats.  See
// the online reference documentation for more options.)

// Saves to a PKCS8 PEM file.
bPreferPkcs1 := 0;
success := pubKey.SavePemFile(bPreferPkcs1,'qa_data/pem/VP_Public.pem');
if (pubKey.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(pubKey.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Extracted and saved public key from private key.');
end;