Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Convert PEM to JKS (Java KeyStore)

See more PEM Examples

Converts a PEM containing private key(s) and certificates into a JKS (Java KeyStore) formatted file.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JavaKeyStore;
import com.chilkatsoft.chilkat2.Pem;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Pem pem = new Pem();

        // Load the PEM from a file.
        // If the PEM is encrypted, provide a password.  Otherwise pass an empty string for the password.
        String password = "myPassword";
        try {
            pem.loadPemFile("../myPemFiles/myPem.pem", password);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Note: If the app already has the PEM pre-loaded in a string variable, then load it
        // by calling LoadPem instead.
        String pemContent = "... the PEM contents ...";
        pem.loadPem(pemContent, password);
        // Check for success as before..

        // Convert to a JavaKeyStore object.
        // The alias, if a non-empty string, will be applied to the 1st private key or
        // certificate.  All other keys and/or certificates will be assigned an auto-generated
        // alias.
        String alias = "anything_I_want_here";

        // This is the passord that will be required to access the created JKS.
        String jksPassword = "myJksSecret";
        JavaKeyStore jks = new JavaKeyStore();
        try {
            pem.toJksObj(alias, jksPassword, jks);

            // Save the JKS to a file.  The password passed here is used for the keyed hash of the
            // entire JKS file.  This may be different (if desired) than the password for individual private keys
            // contained within the JKS.
            jks.toFile(jksPassword, "../myJksFiles/myJks.jks");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }
    }
}