Sample code for 30+ languages & platforms
DataFlex

Change Password for Java KeyStore File

See more Java KeyStore (JKS) Examples

Demonstrates how to load a Java keystore, change the password, and save using the new password. If the Java keystore contains only trusted root certificates, then it's simply a matter of loading the JKS with the existing password, and then saving with a new password. If the JKS contains private key entries, then each private key entry must be re-keyed using the new password by calling the ChangePassword method.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoJks
    String sOldJksPassword
    String sNewJksPassword
    String sJksPath
    Integer iNumPrivateKeys
    Integer i
    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

    Move "existingPassword" To sOldJksPassword
    Move "newPassword" To sNewJksPassword
    Move "/someDir/keyStore.jks" To sJksPath

    // Load the Java keystore from a file.
    Get ComLoadFile Of hoJks sOldJksPassword sJksPath To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoJks To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // If the JKS contains private key entries, then each
    // must be re-keyed with the new password by calling ChangePassword.
    Get ComNumPrivateKeys Of hoJks To iNumPrivateKeys

    Move 0 To i
    While (i < iNumPrivateKeys)

        Get ComChangePassword Of hoJks i sOldJksPassword sNewJksPassword To iSuccess
        If (iSuccess <> True) Begin
            Get ComLastErrorText Of hoJks To sTemp1
            Showln sTemp1
            Procedure_Return
        End

        Move (i + 1) To i
    Loop

    // Write the JKS using the new password for the JKS file's keyed digest.
    Get ComToFile Of hoJks sNewJksPassword sJksPath To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoJks To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Updated the password for the Java keystore file."


End_Procedure