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.
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.
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.
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.
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.
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