Sample code for 30+ languages & platforms
Delphi DLL

Convert PKCS12 / PFX to Java KeyStore

See more Java KeyStore (JKS) Examples

Converts a PKCS12 / PFX file to a Java keystore (JKS) file.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pfx, JavaKeyStore;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
jks: HCkJavaKeyStore;
pfx: HCkPfx;
pfxPassword: PWideChar;
alias: PWideChar;
jksPassword: PWideChar;

begin
success := False;

// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

jks := CkJavaKeyStore_Create();

pfx := CkPfx_Create();

pfxPassword := 'secret';

// Load a PKCS12 from a file.
success := CkPfx_LoadPfxFile(pfx,'/someDir/my.p12',pfxPassword);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkPfx__lastErrorText(pfx));
    Exit;
  end;

alias := 'someAlias';
jksPassword := 'jksSecret';

// Add the PKCS12 to the empty Java keystore object:
success := CkJavaKeyStore_AddPfx(jks,pfx,alias,jksPassword);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkJavaKeyStore__lastErrorText(jks));
    Exit;
  end;

// Write the Java keystore to a file:
success := CkJavaKeyStore_ToFile(jks,jksPassword,'/jksFiles/my.jks');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkJavaKeyStore__lastErrorText(jks));
  end
else
  begin
    Memo1.Lines.Add('Successfully converted PKCS12 to JKS');
  end;

CkJavaKeyStore_Dispose(jks);
CkPfx_Dispose(pfx);

end;