|  | 
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 DLL) Write PKCS1 or PKCS8 Public Key PEMDemonstrates how to write either PKCS1 or PKCS8 format PEM files. PKCS1 public keys have this PEM format: -----BEGIN RSA PUBLIC KEY----- BASE64 ENCODED DATA -----END RSA PUBLIC KEY-----PKCS8 public keys have this PEM format: -----BEGIN PUBLIC KEY----- BASE64 ENCODED DATA -----END PUBLIC KEY----- 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pem, Global; ... procedure TForm1.Button1Click(Sender: TObject); var chilkatGlob: HCkGlobal; success: Boolean; pem: HCkPem; i: Integer; numPublicKeys: Integer; begin // Unlock the Chilkat API. // Starting in v9.5.0.49, all Chilkat classes can be unlocked at once at the beginning of a program // by calling UnlockBundle. It requires a Bundle unlock code. chilkatGlob := CkGlobal_Create(); success := CkGlobal_UnlockBundle(chilkatGlob,'Anything for 30-day trial.'); if (success <> True) then begin Memo1.Lines.Add(CkGlobal__lastErrorText(chilkatGlob)); Exit; end; pem := CkPem_Create(); // Load a public key from a PEM file. // (Assume the PEM contains at least one public key..) success := CkPem_LoadPemFile(pem,'/Users/chilkat/testData/pem/myPublicKey.pem'); if (success <> True) then begin Memo1.Lines.Add(CkPem__lastErrorText(pem)); Exit; end; numPublicKeys := CkPem_getNumPublicKeys(pem); if (numPublicKeys = 0) then begin Memo1.Lines.Add(('Error: Expected the PEM to contain public keys.')); Exit; end; // Get each public key as PEM, first in PKCS1 format, then in PKCS8. for i := 1 to numPublicKeys do begin // First output to PKCS1 PEM format: Memo1.Lines.Add('This is PKCS1 format:'); CkPem_putPublicKeyFormat(pem,'pkcs1'); Memo1.Lines.Add(CkPem__toPem(pem)); // Now PKCS8 PEM format: Memo1.Lines.Add('This is PKCS8 format:'); CkPem_putPublicKeyFormat(pem,'pkcs8'); Memo1.Lines.Add(CkPem__toPem(pem)); end; CkGlobal_Dispose(chilkatGlob); CkPem_Dispose(pem); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.