Sample code for 30+ languages & platforms
Java

Convert a PFX to a Java KeyStore

See more PFX/P12 Examples

Demonstrates Pfx.ToJksObj, which populates a JavaKeyStore with a JKS representation of the PFX, then writes it to a file.

The file path is relative to the application's current working directory. An absolute path may also be used. Supply the path appropriate to your own environment.

Background. One private-key entry is created for each private key, with certificate chains built from the PFX certificates. The password protects the generated Java KeyStore.

Chilkat Java Downloads

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

public class ChilkatExample {

    public static void main(String[] args) {
        Pfx pfx = new Pfx();

        // The file path is relative to the application's current working directory.  An absolute path
        // may also be used.  Supply the path appropriate to your own environment.
        // The PFX password should come from a secure source rather than being hard-coded.
        String password = "myPfxPassword";
        try {
            pfx.loadPfxFile("qa_data/identity.pfx", password);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Populate a Java KeyStore (JKS) representation of this PFX.  One private-key entry is created for
        // each private key, and the PFX certificates are used to build the certificate chains.  The 1st
        // argument is the alias for the first private-key entry, and the 2nd protects the generated JKS.
        // The JKS password should come from a secure source rather than being hard-coded.
        String jksPassword = "myJksPassword";
        JavaKeyStore jks = new JavaKeyStore();
        try {
            pfx.toJksObj("myalias", jksPassword, jks);

            // The Java KeyStore object can then be written to a .jks file.
            jks.toFile(jksPassword, "qa_output/identity.jks");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Wrote a Java KeyStore with " + jks.getNumPrivateKeys() + " private key(s).");
    }
}