dimanche 23 novembre 2014

JavaCard TP2



Programmation  carte à puce - JavaCard


 Tp2 :

Programmation de l’application Serveur

(Applet Javacard) 




Développer une applet Java Card et la tester à l'aide d'un simulateur de carte.

Les étapes :

- Création de l'applet card sous Eclipse

- Codage de l'applet (install() , process() .. )

- Simulation : 3 outils :           → APDUTOOL : envoi/réception d'APDU

                                           → JCWDE : simulateur sans conservation d'état

                                           → CREF : simulateur avec conservation d'état







Lors de la création d’une nouvelle Applet, deux méthodes seront implémentées install() et
process().

La méthode Install (): permet la création d’une instance de la classe MonApplet avec le mot clé «new» et l’enregistre dans le système de la carte avec la méthode register() .


La méthode process(): qui permet l’interprétation de chaque commande APDU et l’exécution de cette commande.



Après l’étape de développement, nous générons le package pour avoir automatiquement les

APDU de la création et l'installation de l’applet et la sélection. Par la suite nous passons à l’étape de simulation.



      • Simulation JCWDE



Lancement du simulateur JCWDE :





Terminal → « apdutool » afin d’envoyer et de recevoir les APDU.






Apres la generation des scripts,

copier/coller le script de create-MonApplet.script pour installer l'applet.




copier/coller les scripts select-MonApplet.script pour sélectionner l’applet que nous voulons tester.






Maintenant nous pouvons commencer à tester notre applet, le premier APDU est une commande pour interroger le compteur. Elle prend 02 comme valeur de INS et elle retourne un résultat un APDU qui contient Le =01 et la valeur du compteur =00. 

Le SW1 =90 ce qui implique la réussite du traitement.






Incrémentation du compteur .la réponse APDU retourne SW1=90.






L’opération suivante consiste à interroger de nouveau le compteur. Elle retourne la valeur de compteur qui égale à 01.







l’étape suivante, nous allons initialiser le compteur à 4a, donc la commande APDU doit
contenir la class CLA, l’instruction de l’initialisation INS, le Lc=01(la taille de donnée à

envoyer), et la donnée contenant 4a.



Après l’initialisation du compteur à 4a, nous allons décrémenter le compteur.




Enfin nous allons interroger de nouveau le compteur. le résultat est égale à 49 (4a-1=49)






powerdown; pour la déconnecter du simulateur.



        • Simulation : CREF



- Terminal → cref -o monapplet.eeprom



- Upload l'applet : Java Card Tools puis Deploy






- Nous pouvons voir les APDUs envoyés dans la zone Console d'Eclipse

- Relançons CREF
- installation de l'applet : run du script create-applet.script
-Nous pouvons utiliser apdutool pour tester notre carte, de la même manière qu'avec JCWDE



Aucun commentaire:

Enregistrer un commentaire