title: How to make a machine trust a self-signed Java application
body: <p>I'm deploying an application using <a href="https://en.wikipedia.org/wiki/Java_Web_Start">JAWS</a>, and it worked until late 2013 when I got a warning, and then this morning Java completely blocked it. The message in French is:</p>
  
  <p><strong><em>Application bloquée par les paramètres de sécurité</em></strong><br>
  <em>Vos paramètres de sécurité ont bloqué l'exécution d'une application auto-signée avec une version obsolete ou arrivée à expiration de Java.</em></p>
  
  <p>which would translate roughly as:</p>
  
  <p><strong><em>Application blocked by the security settings</em></strong><br>
  <em>Your security settings have blocked from running an application that has been self-signed with an obsolete or outdated Java.</em></p>
  
  <p>The grammar is not that clear, the end of the sentence could be read as either:</p>
  
  <ul>
  <li><em>...blocked a self-signed application from running with an obsolete or outdated Java [runtime]</em>, meaning that the local runtime is too old, but the self-signature is fine</li>
  <li><em>...blocked an application that has been self-signed with an obsolete or outdated Java [compiler]</em>, meaning that the Java compiler used is too old</li>
  </ul>
  
  <p>I searched online for the exact same message in English, but I couldn't find it. So the grammar is still unclear. Note that on the message there is no <code>Name: xyz / From: http://url/</code>, there's only the text I typed above, and a blue "i" icon.</p>
  
  <p>Now, I don't really understand the exact meaning of this error message, but I know that there is an issue because my <a href="http://en.wikipedia.org/wiki/JAR_%28file_format%29">JAR</a> files are all self-signed. I have already faced this on other Windows clients, and it was easy:</p>
  
  <ul>
  <li>I extracted a <code>.cer</code> certificate from my keystore;</li>
  <li>Downloaded it on the client machine, open it;</li>
  <li>Made the customers install it as a trusted source on their local machine.</li>
  </ul>
  
  <p>It worked like a charm on my test setup and for one customer, but another one still has the issue and cannot run my software.</p>
  
  <p>This is a big issue from me, and I don't know what to do. Should I upgrade my Java compiler, recompile everything, sign every JAR file again and cross fingers? How can I make that Windows box trust my certificate and let the Java application run?</p>