Sample code for 30+ languages & platforms
Delphi DLL

Serialize a PFX to BinData

See more PFX/P12 Examples

Demonstrates Pfx.ToBd, which serializes the current PFX contents as PKCS#12 data into a BinData object, using the supplied output password.

Background. This is the in-memory equivalent of ToFile, producing the PKCS#12 bytes for further processing or transport.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
pfx: HCkPfx;
password: PWideChar;
outputPassword: PWideChar;
bd: HCkBinData;

begin
success := False;

pfx := CkPfx_Create();

//  The file path is relative to the application's current working directory.  An absolute path
//  may also be used.  Supply the path appropriate to your own environment.
//  The PFX password should come from a secure source rather than being hard-coded.
password := 'myPfxPassword';
success := CkPfx_LoadPfxFile(pfx,'qa_data/identity.pfx',password);
if (success = False) then
  begin
    Memo1.Lines.Add(CkPfx__lastErrorText(pfx));
    Exit;
  end;

//  Serialize the PFX contents as PKCS#12 data into a BinData, using the given output password.
outputPassword := 'myOutputPassword';
bd := CkBinData_Create();
success := CkPfx_ToBd(pfx,outputPassword,bd);
if (success = False) then
  begin
    Memo1.Lines.Add(CkPfx__lastErrorText(pfx));
    Exit;
  end;
Memo1.Lines.Add('Serialized ' + IntToStr(CkBinData_getNumBytes(bd)) + ' bytes of PKCS#12 data.');

CkPfx_Dispose(pfx);
CkBinData_Dispose(bd);