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) Convert PEM to PKCS12 / PFXConverts a PEM containing private key(s) and certificates, with extended properties, into a PKCS12 / PFX. A PEM with extended properties looks like this: Bag Attributes localKeyID: 01 00 00 00 friendlyName: le-1671821e-a2cd-4772-b0e4-5258de05117d Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider Key Attributes X509v3 Key Usage: 10 -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFHzBJBgkqhkiG9w0BBQ0wPDAbBgkqhkiG9w0BBQwwDgQIMudDGh+tZYQCAggA MB0GCWCGSAFlAwQBAgQQ4OSsxHAEu4mVhgcA9L7shASCBNCrBP0NPFTO45uw5Myh ... XZhOf3kcRPT9npxPV1Ez6uEiug== -----END ENCRYPTED PRIVATE KEY----- Bag Attributes localKeyID: 01 00 00 00 friendlyName: Chilkat Software 1.3.6.1.4.1.311.17.3.20: 7C 94 55 D2 71 0B E4 3C D6 BD D8 06 D9 BD A8 EF 36 63 25 05 subject=/OU=Domain Control Validated/CN=www.chilkatsoft.com issuer=/C=US/ST=Arizona/L=Scottsdale/O="GoDaddy.com, Inc."/OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2 -----BEGIN CERTIFICATE----- MIIFMDCCBBigAwIBAgIHJ6r9KpNgnzANBgkqhkiG9w0BAQsFADCBtDELMAkGA1UE BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY ... wXUiw2o3eiSCmh4/iF1hwCGbCR2Mx/JhdeEY6ytITDM1tiG4 -----END CERTIFICATE----- Bag Attributes friendlyName: Go Daddy Root Certificate Authority – G2 1.3.6.1.4.1.311.17.3.29: 70 25 3F BC BD E3 2A 01 4D 38 C1 99 30 98 AD 99 1.3.6.1.4.1.311.17.3.20: 3A 9A 85 07 10 67 28 B6 EF F6 BD 05 41 6E 20 C1 94 DA 0F DE 1.3.6.1.4.1.311.17.3.98: 45 14 0B 32 47 EB 9C C8 C5 B4 F0 D7 B5 30 91 F7 32 92 08 9E 6E 5A 63 E2 74 9D D3 AC A9 19 8E DA 1.3.6.1.4.1.311.17.3.83: 30 23 30 21 06 0B 60 86 48 01 86 FD 6D 01 07 17 03 30 12 30 10 06 0A 2B 06 01 04 01 82 37 3C 01 01 03 02 00 C0 1.3.6.1.4.1.311.17.3.9: 30 52 06 08 2B 06 01 05 05 07 03 01 06 08 2B 06 01 05 05 07 03 02 06 08 2B 06 01 05 05 07 03 03 06 08 2B 06 ... subject=/C=US/ST=Arizona/L=Scottsdale/O="GoDaddy.com, Inc."/CN=Go Daddy Root Certificate Authority - G2 -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT ...
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pfx, Pem; ... procedure TForm1.Button1Click(Sender: TObject); var pem: HCkPem; password: PWideChar; success: Boolean; pemContent: PWideChar; pfx: HCkPfx; begin // This example requires 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 := CkPem_Create(); // Load the PEM from a file. // If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password. password := 'myPassword'; success := CkPem_LoadPemFile(pem,'../myPemFiles/myPem.pem',password); if (success <> True) then begin Memo1.Lines.Add(CkPem__lastErrorText(pem)); Exit; end; // Note: If the app already has the PEM pre-loaded in a string variable, then load it // by calling LoadPem instead. pemContent := '... the PEM contents ...'; success := CkPem_LoadPem(pem,pemContent,password); // Check for success as before.. // Convert to a PFX object: pfx := CkPem_ToPfx(pem); if (CkPem_getLastMethodSuccess(pem) = False) then begin Memo1.Lines.Add(CkPem__lastErrorText(pem)); Exit; end; // Save the PFX to a file: success := CkPfx_ToFile(pfx,'myPfxPassword','../myPfxFiles/myPfx.pfx'); if (success <> True) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; CkPfx_Dispose(pfx); CkPem_Dispose(pem); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.