Sample code for 30+ languages & platforms
Lianja

Combine Multiple PKCS12's into a Single Java KeyStore

See more Java KeyStore (JKS) Examples

Combines 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.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loJks = createobject("CkJavaKeyStore")

loPfx = createobject("CkPfx")

// Combines several PKCS12's into a single JKS.
// Simply load each, add it to the keystore, and then 
// save at the very end.

lcJksPassword = "jksSecret"

// Add the 1st PFX...
lcPfxPassword = "secret1"
llSuccess = loPfx.LoadPfxFile("/someDir/file1.p12",lcPfxPassword)
if (llSuccess <> .T.) then
    ? loPfx.LastErrorText
    release loJks
    release loPfx
    return
endif

lcAlias = "alias1"
llSuccess = loJks.AddPfx(loPfx,lcAlias,lcJksPassword)
if (llSuccess <> .T.) then
    ? loJks.LastErrorText
    release loJks
    release loPfx
    return
endif

// Add the 2nd PFX...
lcPfxPassword = "secret2"
llSuccess = loPfx.LoadPfxFile("/someDir/file2.p12",lcPfxPassword)
if (llSuccess <> .T.) then
    ? loPfx.LastErrorText
    release loJks
    release loPfx
    return
endif

lcAlias = "alias2"
llSuccess = loJks.AddPfx(loPfx,lcAlias,lcJksPassword)
if (llSuccess <> .T.) then
    ? loJks.LastErrorText
    release loJks
    release loPfx
    return
endif

// We can continue adding as many PFX's as desired...

// Write the Java keystore to a file:
llSuccess = loJks.ToFile(lcJksPassword,"/jksFiles/my.jks")
if (llSuccess <> .T.) then
    ? loJks.LastErrorText
else
    ? "Successfully combined multiple PKCS12's into a single JKS"
endif



release loJks
release loPfx