Sample code for 30+ languages & platforms
Delphi ActiveX Requires Chilkat v11.0.0+

Duplicate openssl pkey -in private.pem -pubout -out pubkey.pem

See more OpenSSL Examples

How to output the public part of a private key: Demonstrates how to duplicate this OpenSSL command:
openssl pkey -in private.pem -pubout -out pubkey.pem

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
pkey: TPrivateKey;
pubKey: TPublicKey;

begin
success := 0;

pkey := TPrivateKey.Create(Self);

//  Load the private key from an PEM file:
success := pkey.LoadPemFile('private.pem');
if (success = 0) then
  begin
    Memo1.Lines.Add(pkey.LastErrorText);
    Exit;
  end;

pubKey := TPublicKey.Create(Self);
pkey.ToPublicKey(pubKey.ControlInterface);

success := pubKey.SavePemFile(0,'pubKey.pem');
if (success <> 1) then
  begin
    Memo1.Lines.Add(pubKey.LastErrorText);

    Exit;
  end;

Memo1.Lines.Add('Success.');