Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoJks
    Variant vPfx
    Handle hoPfx
    String sAlias
    String sPfxPassword
    String sJksPassword
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatJavaKeyStore)) To hoJks
    If (Not(IsComObjectCreated(hoJks))) Begin
        Send CreateComObject of hoJks
    End

    Get Create (RefClass(cComChilkatPfx)) To hoPfx
    If (Not(IsComObjectCreated(hoPfx))) Begin
        Send CreateComObject of hoPfx
    End

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

    Move "jksSecret" To sJksPassword

    // Add the 1st PFX...
    Move "secret1" To sPfxPassword
    Get ComLoadPfxFile Of hoPfx "/someDir/file1.p12" sPfxPassword To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoPfx To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Move "alias1" To sAlias
    Get pvComObject of hoPfx to vPfx
    Get ComAddPfx Of hoJks vPfx sAlias sJksPassword To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoJks To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Add the 2nd PFX...
    Move "secret2" To sPfxPassword
    Get ComLoadPfxFile Of hoPfx "/someDir/file2.p12" sPfxPassword To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoPfx To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Move "alias2" To sAlias
    Get pvComObject of hoPfx to vPfx
    Get ComAddPfx Of hoJks vPfx sAlias sJksPassword To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoJks To sTemp1
        Showln sTemp1
        Procedure_Return
    End

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

    // Write the Java keystore to a file:
    Get ComToFile Of hoJks sJksPassword "/jksFiles/my.jks" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoJks To sTemp1
        Showln sTemp1
    End
    Else Begin
        Showln "Successfully combined multiple PKCS12's into a single JKS"
    End



End_Procedure