PingFederate has been tested in the following Java environments:

  • Amazon Corretto 11 and 17
  • OpenJDK 11 and 17
  • Oracle Java SE Development Kit 11 LTS and 17 LTS

Ping Identity Java Support Policy applies. For more information, see Java Support Policy in the Ping Identity Knowledge Base.


PingFederate does not support any JDK 11 version prior to 11.0.4 due to an error covered in the Oracle Java Bug Database.


For Oracle Java SE Development Kit 11, the JCE jurisdiction policy defaults to unlimited strength. For more information, see the Oracle JDK Migration Guide in Oracle's documentation.

  1. Download and install a Java runtime.
  2. Set the JAVA_HOME environment variable to the Java installation directory path and add its bin directory to the PATH environment variable.

    If you intend to use the PingFederate installer for Windows or run PingFederate as a service, you must set the JAVA_HOME environment variable and modify the PATH environment variable at the system level. If you are not using the PingFederate installer or running PingFederate as a service, you can set the variables at either the system or user level.


    When running PingFederate for Windows, switching the Java version from 11 to 17 prevents the service from running, and you won't be able to start PingFederate. The problem occurs because garbage collection logging configuration arguments that are used by Java 17 are incompatible with those used by Java 11.

    To change Java versions:

    1. Run <pf_install>\pingfederate\sbin\win-x86-64\uninstall-service.bat to de-register the PingFederate service.
    2. Install the new Java version and update the JAVA_HOME and PATH environment variables.
    3. Run <pf_install>\pingfederate\sbin\win-x86-64\install-service.bat to register the PingFederate service.