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 ActiveX) Add Private Key and Certificate to a PEMDemonstrates how to add certificates and private keys to a PEM.
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 pem: TChilkatPem; privKey: TPrivateKey; success: Integer; cert: TChilkatCert; includeCertChain: Integer; password: WideString; extendedAttrs: Integer; noKeys: Integer; noCerts: Integer; noCaCerts: Integer; encryptAlg: WideString; pemStr: WideString; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // The Chilkat PEM class was introduced in v9.5.0.49. // It requires the bundle to be unlocked, as shown above. pem := TChilkatPem.Create(Self); // Add the private key found in alice.key to this PEM. // privKey := TPrivateKey.Create(Self); success := privKey.LoadAnyFormatFile('qa_data/alice.key',''); if (success <> 1) then begin Memo1.Lines.Add(privKey.LastErrorText); Exit; end; // Add it to the PEM: success := pem.AddPrivateKey(privKey.ControlInterface); // Add the certificate found in alice.crt to this PEM. // cert := TChilkatCert.Create(Self); success := cert.LoadFromFile('qa_data/alice.crt'); if (success <> 1) then begin Memo1.Lines.Add(cert.LastErrorText); Exit; end; // Add it to the PEM: includeCertChain := 0; success := pem.AddCert(cert.ControlInterface,includeCertChain); // Write the PEM containing the private key and certificate. // The private key will be output in PKCS8 encrypted form. // Certificates are never encrypted. // This is the password that will be required to open and access the private key // from the PEM we're about to write.. password := 'secret'; extendedAttrs := 0; noKeys := 0; noCerts := 0; noCaCerts := 0; encryptAlg := 'aes128'; pemStr := pem.ToPemEx(extendedAttrs,noKeys,noCerts,noCaCerts,encryptAlg,password); Memo1.Lines.Add(pemStr); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.