Il peut être nécessaire de signer un jar en vue d'un déploiement, par exemple. Voici le fruit de mes recherches et la démarche que j'ai utilisée. Un grand merci à tous les contributeurs.
Contexte : Win 7 32 – Éclipse JUNO, JDK 1.7
Deux étapes sont nécessaires :
- création d'une clé
- signer le jar (pour cela, il faut avoir créé un jar runnable).
Les lignes de commandes situées ci-dessous sont lancées dans la console Windows (démarrer/accessoires/invite de commande).
Lorsque vous copiez ces lignes de commande, allez alors dans la console, clic-droit, coller et [enter].
Création d'une clé et auto validation :
L'outil fournit avec le JDK est keytool. Pour moi il se trouve sous :
C:\Program Files\Java\jdk1.7.0_21\jre\bin\
Le fichier contenant les signatures sera nommé ici : monStore
Par défaut il est placé sous :
C:\utilisateurs\monNom\
La signature sera nommée ici : signature
Il vous sera demandé un password.
a) créer une clé
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" -genkey -alias signature -keyalg RSA -keystore monStore
Renseigner toutes (ou non) les demandes... A la fin, saisir oui
b) auto-valider la clé (par défaut valide 6 mois)
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" -selfcert -alias signature -keystore monStore
Signer le jar
L'outil utilisé est jarsigner. Pour moi il se trouve sous :
C:\Program Files\Java\jdk1.7.0_21\bin\
Il faut placer le jar à signer sous C:\utilisateurs\monNom\
le jar à signer est nommé ici appli_unsigned.jar ; on récupère le jar signé : appli.jar
"C:\Program Files\Java\jdk1.7.0_21\bin\jarsigner" -verbose -keystore monStore -signedjar appli.jar appli_unsigned.jar signature
C'est fini.
Quelques commandes utiles :
liste des commandes de keytool
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" keytool -list -keystore monStore
affichage des clé de monStore
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" -list -keystore monStore
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" -list -v -keystore monStore
export du certificat
"C:\Program Files\Java\jdk1.7.0_21\jre\bin\keytool" -export -alias signature -file certificat.cer -keystore monStore
Quelques liens utiles :
http://blog.hbis.fr/2009/07/04/java_keytoo/
http://www.networking4all.com/fr/sup...andes+keytool/
http://publib.boulder.ibm.com/wasce/...omcat/Ssl.html
http://www.mobilefish.com/tutorials/...e_keytool.html
Hope this helps
Christian
Partager