Sample code for 30+ languages & platforms
Delphi ActiveX

Convert PKCS12 / PFX to Java Keystore (JKS)

See more PFX/P12 Examples

Loads a PKCS12 / PFX file and saves it to a Java keystore (JKS) file.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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
success: Integer;
pfx: TChilkatPfx;
jksPassword: WideString;
alias: WideString;
jks: TChilkatJavaKeyStore;

begin
success := 0;

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

pfx := TChilkatPfx.Create(Self);

// Load the PKCS12 from a file
success := pfx.LoadPfxFile('/someDir/my.p12','myPfxPassword');
if (success = 0) then
  begin
    Memo1.Lines.Add(pfx.LastErrorText);
    Exit;
  end;

jksPassword := 'myJksPassword';
alias := 'firstPrivateKeyAlias';

jks := TChilkatJavaKeyStore.Create(Self);

// Convert to a Java keystore object.
// The jksPassword is the password to be used for the JKS private key entries. 
// It may be the same as the PFX password, but can also be different if desired.
success := pfx.ToJksObj(alias,jksPassword,jks.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(pfx.LastErrorText);
    Exit;
  end;

// Save the Java keystore to a file.
success := jks.ToFile(jksPassword,'/myKeystores/my.jks');
if (success <> 1) then
  begin
    Memo1.Lines.Add(jks.LastErrorText);

    Exit;
  end;

Memo1.Lines.Add('Successfully converted PFX to JKS.');
end;