Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) 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.
IncludeFile "CkPfx.pb" IncludeFile "CkJavaKeyStore.pb" Procedure ChilkatExample() ; This requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. jks.i = CkJavaKeyStore::ckCreate() If jks.i = 0 Debug "Failed to create object." ProcedureReturn EndIf pfx.i = CkPfx::ckCreate() If pfx.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Combines several PKCS12's into a single JKS. ; Simply load each, add it to the keystore, and then ; save at the very end. alias.s pfxPassword.s jksPassword.s = "jksSecret" ; Add the 1st PFX... pfxPassword = "secret1" success.i = CkPfx::ckLoadPfxFile(pfx,"/someDir/file1.p12",pfxPassword) If success <> 1 Debug CkPfx::ckLastErrorText(pfx) CkJavaKeyStore::ckDispose(jks) CkPfx::ckDispose(pfx) ProcedureReturn EndIf alias = "alias1" success = CkJavaKeyStore::ckAddPfx(jks,pfx,alias,jksPassword) If success <> 1 Debug CkJavaKeyStore::ckLastErrorText(jks) CkJavaKeyStore::ckDispose(jks) CkPfx::ckDispose(pfx) ProcedureReturn EndIf ; Add the 2nd PFX... pfxPassword = "secret2" success = CkPfx::ckLoadPfxFile(pfx,"/someDir/file2.p12",pfxPassword) If success <> 1 Debug CkPfx::ckLastErrorText(pfx) CkJavaKeyStore::ckDispose(jks) CkPfx::ckDispose(pfx) ProcedureReturn EndIf alias = "alias2" success = CkJavaKeyStore::ckAddPfx(jks,pfx,alias,jksPassword) If success <> 1 Debug CkJavaKeyStore::ckLastErrorText(jks) CkJavaKeyStore::ckDispose(jks) CkPfx::ckDispose(pfx) ProcedureReturn EndIf ; We can continue adding as many PFX's as desired... ; Write the Java keystore to a file: success = CkJavaKeyStore::ckToFile(jks,jksPassword,"/jksFiles/my.jks") If success <> 1 Debug CkJavaKeyStore::ckLastErrorText(jks) Else Debug "Successfully combined multiple PKCS12's into a single JKS" EndIf CkJavaKeyStore::ckDispose(jks) CkPfx::ckDispose(pfx) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.