Ressources :

Les éditeurs visuels :

Plugins Eclipse :

Des frameworks complémentaires :

Sources :

Erreurs rencontrées avec jnlp :

  • com.sun.deploy.net.FailedDownloadException: Impossible de charger la ressource : http://www.placeoweb.com/fichiers/jnlp/tpsaa/tps.jnlp
=> l'url décrivant la ressource jnlp est erronée
  • com.sun.deploy.net.FailedDownloadException: Impossible de charger la ressource : http://www.placeoweb.com/fichiers/jnlp/tps/swt-native-win32-win32.jar
=> le fichier n'est pas disponible à cette url ou le fichier est corrompu
  • JNLPException[category: Erreur de sécurité : Exception: null
Une application non signée demande un accès illimité au système 
Ressource non signée : http://www.placeoweb.com/fichiers/jnlp/tps/swt-win32-win32.jar
=> Par exemple avec org.eclipse.jface_3.4.0.jar, 
Effectivement tous les jars doivent être signés avec le même certificat.
Dans mon cas le JAR de bouncy castle est déjà signé ( et forcement differement de ma signature ).
Donc pour importer tous les jars avec des signatures différentes il faut ajouter au fichier jnlp principal :
<extension name="Bouncy Castle" href="bouncy.jnlp"/>
et le fichier bouncy.jnlp contient :
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
codebase="http://XX.XX.XX.XX:8080/apli/jnlp/"
href="bouncy.jnlp">
<information>
<title>Bouncy Castle</title>
<vendor>Sun MicroSystems, Inc.</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<jar href="lib/bcprov-jdk14-127.jar"/>
</resources>
<component-desc/>
</jnlp>

Erreurs rencontrées lors de la génération des certificats :

  • jarsigner: attempt to rename X.jar to X.jar.orig failed

Cette erreur est due au fait qu'une autre application est en cours d'utilisation du fichier jar. De ce fait jarsigner ne peux pas modifier le fichier. Fermer toutes les autres applications (typiquement un navigateur, un dezipppeur, qui essaie de lancer le jar, ou similaire) quand vous exécuter l'outil jarsigner.

  • Génération du magasin des certificats dans le fichier "keystore"
"C:\Program Files\Java\jdk1.6.0_10\bin\keytool" -genkey -keystore keystore -alias myself
  • Suppression d'un alias du certificat
"C:\Program Files\Java\jdk1.6.0_10\bin\keytool" -delete -keystore keystore -alias myself
  • Détail de l'alias contenu dans le certificat
"C:\Program Files\Java\jdk1.6.0_10\bin\keytool" -list -keystore keystore -alias myself
  • Signature des jar appelés depuis le fichier jnlp
"C:\Program Files\Java\jdk1.6.0_10\bin\jarsigner" -keystore keystore swt-win32-win32.jar myself
"C:\Program Files\Java\jdk1.6.0_10\bin\jarsigner" -keystore keystore monProgrammeJava.jar myself

Enter Passphrase for keystore:

Warning:
The signer certificate will expire within six months.

Au sujet de l'expiration du certificat dans six mois : Durée de vie d'une signature, explique :

Validity Period Each certificate is valid only for a limited amount of time. This period is described by a start date and time and an end date and time, and can be as short as a few seconds or almost as long as a century. The validity period chosen depends on a number of factors, such as the strength of the private key used to sign the certificate or the amount one is willing to pay for a certificate. This is the expected period that entities can rely on the public value, if the associated private key has not been compromised.

Le fait qu'il soit expiré ou non ne te dérange pas, ne t'embête pas car ça n'impacte (à priori) pas les fonctionnalités

  • Consulter si le jar est signé ou non
"C:\Program Files\Java\jdk1.6.0_10\bin\jarsigner" -verify swt-win32-win32.jar
"C:\Program Files\Java\jdk1.6.0_10\bin\jarsigner" -verify monProgrammeJava.jar
  • Lancer le jnlp en ligne de commande : javaws URL
"C:\Program Files\Java\jdk1.6.0_10\bin\javaws" http://www.placeoweb.com/fichiers/jnlp/tpsaa/tps.jnlp