|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Delphi DLL) Combine Multiple PKCS12's into a Single Java KeyStoreCombines multiple PKCS12's into a single Java KeyStore (JKS) file. To combine multiple PKCS12 files into a single JKS, simply load each PKCS12 into a PFX object, add it to the Java keystore object via the AddPfx method, and then finally write the Java keystore at the very end. 
 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 jks: HCkJavaKeyStore; pfx: HCkPfx; alias: PWideChar; pfxPassword: PWideChar; jksPassword: PWideChar; success: Boolean; begin // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. jks := CkJavaKeyStore_Create(); pfx := CkPfx_Create(); // Combines several PKCS12's into a single JKS. // Simply load each, add it to the keystore, and then // save at the very end. jksPassword := 'jksSecret'; // Add the 1st PFX... pfxPassword := 'secret1'; success := CkPfx_LoadPfxFile(pfx,'/someDir/file1.p12',pfxPassword); if (success <> True) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; alias := 'alias1'; success := CkJavaKeyStore_AddPfx(jks,pfx,alias,jksPassword); if (success <> True) then begin Memo1.Lines.Add(CkJavaKeyStore__lastErrorText(jks)); Exit; end; // Add the 2nd PFX... pfxPassword := 'secret2'; success := CkPfx_LoadPfxFile(pfx,'/someDir/file2.p12',pfxPassword); if (success <> True) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; alias := 'alias2'; success := CkJavaKeyStore_AddPfx(jks,pfx,alias,jksPassword); if (success <> True) then begin Memo1.Lines.Add(CkJavaKeyStore__lastErrorText(jks)); Exit; end; // We can continue adding as many PFX's as desired... // 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 combined multiple PKCS12''s into a single JKS'); end; CkJavaKeyStore_Dispose(jks); CkPfx_Dispose(pfx); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.