Tym-Project

From: SUPINFO
To: Tous
Subject: IT

Signer Une Application Java

Pourquoi est-ce important de signer (avec un certificat) une application Java ? Prenons un exemple concret : laisseriez vous entrer une personne non certifiée dans votre appartement pour qu’elle fouille vos placards ? Non je l’espère, par contre un policier avec un mandat… là oui (je ne vous le souhaite pas :)).
Pour les applications c’est la même chose : votre applet ne pourra pas accéder à des fichiers sensibles si il n’est pas signé.

Pour ce tutoriel nous allons signer un lecteur Ogg : Cortado. Cet applet est destiné à être placé sur un serveur web pour diffuser une web-tv par exemple. Dans l’exemple il doit se connecter à un serveur Icecast et il doit donc être signé pour avoir le droit de lire le flux.

Vous devez tout d’abord installer le JDK, disponible ici.

Je vais vous présenter les manipulations sous Windows, mais elles sont identiques sous Linux ou Mac.

Placez vous dans le dossier du JDK, dans le répertoire des binaires :

cd "C:\Program Files\Java\jdk1.6.0_12\bin"

Nous allons tout d’abord créer un certificat. Pour cela utilisez keytool, notre certificat sera valide 1 an (365 jours) et aura pour alias (un nom pour le réutiliser lors d’une signature) “myCertif”. On précise aussi le mot de passe du keystore (le coffre qui contient les clés) :

C:\Program Files\Java\jdk1.6.0_12\bin > keytool.exe -genkey -alias myCertif -validity 365 -storepass adadad

Vous devez alors donner différentes informations comme le nom de l’entreprise, etc…Attention car ces valeurs pourront être visibles des utilisateurs ! Vous devrez confirmez les informations puis donner un mot de passe à la clé. Votre certificat est crée, signons donc notre application avec jarsigner :

C:\Program Files\Java\jdk1.6.0_12\bin > jarsigner.exe -storepass adadad C:\cortado-ovt-stripped-0.2.2.jar myCertif

Jarsigner n’est pas très bavard, mais si rien n’est précisé alors tout s’est bien passé !

Bonnes signatures ;-)

Comments