Sample code for 30+ languages & platforms
Delphi ActiveX

Add Trusted Certificate to JKS

See more Java KeyStore (JKS) Examples

Adds a trusted certificate to a Java keystore 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;
jks: TChilkatJavaKeyStore;
jksPassword: WideString;
jksPath: WideString;
cert: TChilkatCert;
alias: WideString;

begin
success := 0;

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

jks := TChilkatJavaKeyStore.Create(Self);

jksPassword := 'secret';
jksPath := '/myJksTrustedCerts/cacerts.jks';

// Load the Java keystore from a file.
success := jks.LoadFile(jksPassword,jksPath);
if (success <> 1) then
  begin
    Memo1.Lines.Add(jks.LastErrorText);
    Exit;
  end;

cert := TChilkatCert.Create(Self);

// The cert's LoadFrommFile method can load a certificate from
// virtually any format.  It will automatically determine the format
// and load appropriately.
success := cert.LoadFromFile('/certFiles/myNewTrustedCert.pem');
if (success <> 1) then
  begin
    Memo1.Lines.Add(cert.LastErrorText);
    Exit;
  end;

// The alias can be anything.  It's basically just a label 
// used within the JKS associated with the entry.  It should
// be unique among aliases within the JKS file.
alias := 'habanero';

success := jks.AddTrustedCert(cert.ControlInterface,alias);
if (success <> 1) then
  begin
    Memo1.Lines.Add(jks.LastErrorText);
    Exit;
  end;

// Write the JKS containing the new certificate.
success := jks.ToFile(jksPassword,jksPath);
if (success <> 1) then
  begin
    Memo1.Lines.Add(jks.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Added a trusted certificate to the JKS.');
end;