Sunday, October 26, 2014

Java Site Exception - Add sites easily to allow them to run with Java 8

Java Site Exception list .... and the nightmare continues...

The people over there at Java have been making it increasingly difficult for end users to run java applets; all in the name of security... This is a nice PR campaign but simply a 100% nightmare for most end users in both home and cooperate environments.

With the release of Java 8 there are NO medium security settings anymore, so adjusting security to medium in the past allowed any unsigned applet to run. Now Java in their infinite wisdom has done away with medium security settings...WTF !

Java is just pushing people to develop in other applications such as the FREE HTML 5 for example, which is already in most modern browsers and there is no need for all these stupid helper applications like java, and flash.

Java site exception list - how it works in the new java. 

In order to get any site that has a Java applet to run with Java 8 installed locally, you MUST now add manually each and every site to the site exception list. This list in the control panel. It is under as shown below:

Control Panel - Programs - Java



Then inside the Java control panel as shown below:

Security Tab at the top - Edit site list



This is simply a pain in the ass to access and to have to go through all the time; really!

This list is stored, or should I say can be stored in two different locations.

IF you are not in a cooperate environment and HAVE NOT used Java's deployment solutions to specify a generic site exception list for all users, then this list will be in the following place:

C:\Users\&username%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

This is providing that there is NO deployment solution files like explained below.

IF you are in a cooperate environment AND have a basic deployment solution implemented for a generic site list for example the file will reside here:

C:\Windows\Sun\Java\Deployment\exception.sites

IF both files are present AND you are using Java 8 from Java 7, then the site exception will live in that windows folder/file. In this situation where both files are present, the original site exception list in the user profile ( First path above ) will no longer work with new Java 8 installed. You must manually open the site.exception list in the user location with notepad and move them to the site.exception file in the windows system folder. ALL further entries will be made here. NOT the user profile.

Quick rule:

1) IF C:\Windows\Sun\Java\Deployment\ DOES NOT EXIST, then the exceptions will be here for Java 8: 
C:\Users\&username%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

2) IF C:\Windows\Sun\Java\Deployment\exception.sites DOES exist, the new entries will be here

I put together a small application that will make all these decisions for you and use the correct path depending on your Java version, and IF a basic deployment solution was used on your PC.

IF you have multiple versions then the program will not work, as I cannot guarantee IF the correct site exception list will be used, therefore you must have Java 7 OR Java 8 installed, not both or other versions like 6 for example. Once again it will NOT work with multiple Java versions.

Below is a screenshot of the simple easy to use interface:



It literally reads the correct site exception list, presents you with the complete list, and allows you to add to it easily without going through a huge hassle of getting it added. All in a simple easy to use interface without digging through menus.

Note: that if you are not an admin on your machine and your site exception list is in:
C:\Windows\Sun\Java\Deployment\exception.sites
You might have to be an admin or adjust the file permissions for everyone or a specific user(s) to adjust.

I am providing a Download link here for your convenience.