2013-07-05

"Error occurred during the SSL handshake: invalid SSL session" - Troubleshooting Perforce plugin error

The Perforce plugin for Eclipse may give the error "Error occurred during the SSL handshake: invalid SSL session" when you try to edit a file.

Some JVM distributions that are shipped internationally come with limited cryptography capabilities for national security purposes.  The 256 bit cryptography that Perforce uses may not be in the JVM that your Eclipse installation is running on.  Therefore you need to install the Java Cryptography Extension (JCE) for the Perforce plugin to work.
  1. Determine which eclipse.ini file you should use (from joomla.org):
    1. If you downloaded Eclipse IDE manually from internet the "eclipse.ini" file is just inside the unpacked folder
      1. Open Eclipse as you normally do.
      2. Click Help -> About Eclipse SDK
      3. Click Installation Details
      4. Go to the Configuration tab
      5. Find "eclipse.home.location=file:<PATH>".  <PATH> is where eclipse is installed.
    2. If you installed Eclipse via terminal or software center the location of the file is "/etc/eclipse.ini"
    3. In some Linux versions the file can be found at "/usr/share/eclipse/eclipse.ini". Do not use this file if you found a config file at "/etc/eclipse.ini".
  2. Determine the current version of the JVM that eclipse will use to run the Perforce plugin, not to be confused with $JAVA_HOME and Window/Preferences/Java/Installed JREs.
    1. Open the eclipse.ini file directly inside Eclipse's installation folder.
    2. Check for -vm and below, see the path to the Java VM installation on which Eclipse is running and determine the version from the path.
      1. If there is no -vm line, eclipse is running on the default version of Java for your machine.
      2. Open a terminal window and type "export"
      3. Look for JAVA_HOME = ... in the output, and determine the version the version from the path.
  3. If you are running Java version 6, update to the latest version of Java.
    1. Download Java 7 or later, and extract.
    2. Make sure you update eclipse.ini if the -vm is specified there.
    3. Also update the JAVA_HOME environment variable if found in output of "export" command.  Look in ~/.profile and ~/.bash_rc files.  Prefer to specify it in ~/.profile file.
    4. Alternatively, install JCE for Java 6 (google it).
  4. Now that you have Java 7, download and install JCE for Java 7.
    1. View the README to determine where to put the files.