Signer un jar sous Windows
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\
:fleche: 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