Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loJks
LOCAL loPfx
LOCAL lcAlias
LOCAL lcPfxPassword
LOCAL lcJksPassword

lnSuccess = 0

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

loJks = CreateObject('Chilkat.JavaKeyStore')

loPfx = CreateObject('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.

lcJksPassword = "jksSecret"

* Add the 1st PFX...
lcPfxPassword = "secret1"
lnSuccess = loPfx.LoadPfxFile("/someDir/file1.p12",lcPfxPassword)
IF (lnSuccess <> 1) THEN
    ? loPfx.LastErrorText
    RELEASE loJks
    RELEASE loPfx
    CANCEL
ENDIF

lcAlias = "alias1"
lnSuccess = loJks.AddPfx(loPfx,lcAlias,lcJksPassword)
IF (lnSuccess <> 1) THEN
    ? loJks.LastErrorText
    RELEASE loJks
    RELEASE loPfx
    CANCEL
ENDIF

* Add the 2nd PFX...
lcPfxPassword = "secret2"
lnSuccess = loPfx.LoadPfxFile("/someDir/file2.p12",lcPfxPassword)
IF (lnSuccess <> 1) THEN
    ? loPfx.LastErrorText
    RELEASE loJks
    RELEASE loPfx
    CANCEL
ENDIF

lcAlias = "alias2"
lnSuccess = loJks.AddPfx(loPfx,lcAlias,lcJksPassword)
IF (lnSuccess <> 1) THEN
    ? loJks.LastErrorText
    RELEASE loJks
    RELEASE loPfx
    CANCEL
ENDIF

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

* Write the Java keystore to a file:
lnSuccess = loJks.ToFile(lcJksPassword,"/jksFiles/my.jks")
IF (lnSuccess <> 1) THEN
    ? loJks.LastErrorText
ELSE
    ? "Successfully combined multiple PKCS12's into a single JKS"
ENDIF

RELEASE loJks
RELEASE loPfx