Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Jks
oleobject loo_Pfx
string ls_Alias
string ls_PfxPassword
string ls_JksPassword

li_Success = 0

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

loo_Jks = create oleobject
li_rc = loo_Jks.ConnectToNewObject("Chilkat.JavaKeyStore")
if li_rc < 0 then
    destroy loo_Jks
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Pfx = create oleobject
li_rc = loo_Pfx.ConnectToNewObject("Chilkat.Pfx")

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

ls_JksPassword = "jksSecret"

// Add the 1st PFX...
ls_PfxPassword = "secret1"
li_Success = loo_Pfx.LoadPfxFile("/someDir/file1.p12",ls_PfxPassword)
if li_Success <> 1 then
    Write-Debug loo_Pfx.LastErrorText
    destroy loo_Jks
    destroy loo_Pfx
    return
end if

ls_Alias = "alias1"
li_Success = loo_Jks.AddPfx(loo_Pfx,ls_Alias,ls_JksPassword)
if li_Success <> 1 then
    Write-Debug loo_Jks.LastErrorText
    destroy loo_Jks
    destroy loo_Pfx
    return
end if

// Add the 2nd PFX...
ls_PfxPassword = "secret2"
li_Success = loo_Pfx.LoadPfxFile("/someDir/file2.p12",ls_PfxPassword)
if li_Success <> 1 then
    Write-Debug loo_Pfx.LastErrorText
    destroy loo_Jks
    destroy loo_Pfx
    return
end if

ls_Alias = "alias2"
li_Success = loo_Jks.AddPfx(loo_Pfx,ls_Alias,ls_JksPassword)
if li_Success <> 1 then
    Write-Debug loo_Jks.LastErrorText
    destroy loo_Jks
    destroy loo_Pfx
    return
end if

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

// Write the Java keystore to a file:
li_Success = loo_Jks.ToFile(ls_JksPassword,"/jksFiles/my.jks")
if li_Success <> 1 then
    Write-Debug loo_Jks.LastErrorText
else
    Write-Debug "Successfully combined multiple PKCS12's into a single JKS"
end if



destroy loo_Jks
destroy loo_Pfx