Académique Documents
Professionnel Documents
Culture Documents
Groupe SEN
Cours en ligne A ide au choix des parcours A ffectations de projets Guides, manuels, mementos
Projets Recherche Site web COMELEC Site web ENST Intranet COMELEC Wiki COMELEC
Enseignement
BCI Cycle master C SMLP ELEC 222 ELEC 223 ELEC 342 - SO C ELEC 390 ELEC INF344 / ELEC INF381 ELEC INF359 Etude s biblio 2010-2011 Etude s biblio 2011-2012 Mini-proje ts 2008-2009 Mini-proje ts 2009-2010 TD SC A TP Javacard 1/2 TP Javacard 2/2 ELEC 920 / NSS04 Projets matriels Les stages TEL
Introduction
La premire partie de ce TP est disponible l'adresse ici. C ette partie a pour objectif dexpliquer, par un exemple concret, comment compiler et charger une applet Javacard sur une carte physique ainsi que de donner un exemple de code dapplication cliente permettant de dialoguer avec cette carte.
C onnexion utilisateur
Nom d'utilisate ur :
Mot de passe :
Installation de l'environnement
Installation du Java Card Development Kit 2.1.1
Decompressez l'archive :
Se connecter
~ / E L E C I N F 3 5 9 $t a rx z v f~ d u c / e n s e i g n e m e n t s / T P _ E L E C I N F 3 5 9 / j a v a _ c a r d _ k i t 2 _ 1 _ 1 u n i x . t a r . Z
~ / E L E C I N F 3 5 9 $t a rx z v f~ d u c / e n s e i g n e m e n t s / T P _ E L E C I N F 3 5 9 / g l o b a l p l a t f o r m 5 . 0 . 0 . t a r . g z ~ / E L E C I N F 3 5 9 $c dg l o b a l p l a t f o r m 5 . 0 . 0 ~ / E L E C I N F 3 5 9 / g l o b a l p l a t f o r m 5 . 0 . 0 $. / c o n f i g u r ep r e f i x = / s t u d / u s e r s / p r o m o X X / Y Y Y / E L E C I N F 3 5 9 ~ / E L E C I N F 3 5 9 / g l o b a l p l a t f o r m 5 . 0 . 0 $m a k e ~ / E L E C I N F 3 5 9 / g l o b a l p l a t f o r m 5 . 0 . 0 $m a k ei n s t a l l ~ / E L E C I N F 3 5 9 / g l o b a l p l a t f o r m 5 . 0 . 0 $c d. .
~ / E L E C I N F 3 5 9 $t a rx z v f~ d u c / e n s e i g n e m e n t s / T P _ E L E C I N F 3 5 9 / g p s h e l l 1 . 4 . 2 . t a r . g z ~ / E L E C I N F 3 5 9 $c dg p s h e l l 1 . 4 . 2 ~ / E L E C I N F 3 5 9 / g p s h e l l 1 . 4 . 2 $. / c o n f i g u r ep r e f i x = / s t u d / u s e r s / p r o m o X X / Y Y Y / E L E C I N F 3 5 9C F L A G S = I / s t u d / u s e r s / p r o ~ / E L E C I N F 3 5 9 / g p s h e l l 1 . 4 . 2 $m a k e ~ / E L E C I N F 3 5 9 / g p s h e l l 1 . 4 . 2 $m a k ei n s t a l l ~ / E L E C I N F 3 5 9 / g p s h e l l 1 . 4 . 2 $c d. .
A priori, s'il n'y a eu aucune grosse erreur lors des compilations et des installations (quelques messages d'avertissement, warning, peuvent apparatre), vous devriez maintenant avoir tout ce qu'il vous faut pour la suite du TP.
Compilation
Nous allons reprendre l'application dveloppe dans la premire partie du TP, mais cette fois-ci, nous allons effectuer l'tape de compilation la main. Rcuprez le fichier source M o n A p p l e t . j a v aet placez le dans un nouveau rpertoire (ex. ~ / E L E C I N F 3 5 9 / u p l o a d / m o n p a c k a g e ). La compilation se fait grce la commande suivante :
~ / E L E C I N F 3 5 9 / u p l o a d $j a v a cm o n p a c k a g e / M o n A p p l e t . j a v ac l a s s p a t h~ / E L E C I N F 3 5 9 / j c 2 1 1 / b i n / a p i 2 1 . j a rs o u r c e1 . 3
sen.enst.fr/node/402
1/3
29/03/13
Conversion
Nous allons maintenant utiliser l'outil c o n v e r t e rfourni par le kit de dveloppement Javacard pour gnrer le fichier C AP partir de la classe que nous venons de compiler. Pour tre certain de l'environnement, re-exportons les variables d'environement de la premire partie du TP (en pratique, la commande converter n'est qu'un script qui lance l'excution d'une classe l'aide de la machine virtuelle Java, il faut donc que cette dernire soit convenablement configure).
~ / E L E C I N F 3 5 9 / u p l o a d $e x p o r tJ A V A _ H O M E = / u s r ~ / E L E C I N F 3 5 9 / u p l o a d $e x p o r tJ C _ H O M E = ~ / E L E C I N F 3 5 9 / j a v a _ c a r d _ k i t 2 _ 2 _ 2 ~ / E L E C I N F 3 5 9 / u p l o a d $e x p o r tP A T H = $ P A T H : $ J C _ H O M E / b i n
L'opration de conversion proprement dite (on utilise l'outil de conversion du kit de dveloppement version 2.2.2 car il fonctionne mieux que celui du kit version 2.1.1) :
~ / E L E C I N F 3 5 9 / u p l o a d $c o n v e r t e re x p o r t p a t h~ / E L E C I N F 3 5 9 / j c 2 1 1 / a p i 2 1\ a p p l e t0 x 0 1 : 0 x 0 2 : 0 x 0 3 : 0 x 0 4 : 0 x 0 5 : 0 x 0 6 : 0 x 0 7 : 0 x 0 8 : 0 x 0 9 : 0 x 0 0 : 0 x 0 0\ M o n A p p l e tm o n p a c k a g e0 x 0 1 : 0 x 0 2 : 0 x 0 3 : 0 x 0 4 : 0 x 0 5 : 0 x 0 6 : 0 x 0 7 : 0 x 0 8 : 0 x 0 9 : 0 x 0 01 . 0
S'il n'y a aucune erreur ni aucun avertissement, c'est bon. Le fichier C AP gnr (ainsi qu'un fichier EXP) se situe dans le rpertoire ~ / E L E C I N F 3 5 9 / u p l o a d / m o n p a c k a g e / j a v a c a r d .
~ / E L E C I N F 3 5 9 / u p l o a d / m o n p a c k a g e / j a v a c a r d $L D _ L I B R A R Y _ P A T H = / s t u d / u s e r s / p r o m o X X / Y Y Y / E L E C I N F 3 5 9 / l i b~ / E L E C I N F 3 5 9
(le LD_LIBRARY_PATH indique o est installe la bibliothque GlobalPlatform, puisque vous l'avez installe en dbut de cette partie dans un endroit non courant). Si toutes les rponses aux commandes (APDU) d'installation envoyes la cartes sont bonnes (elles doivent se terminer par 90 00), l'applet est correctement charge sur la carte. Bravo !
Liens
Les specs de l'API Javacard
Filename/Title
Taille
sen.enst.fr/node/402
2/3
29/03/13
sen.enst.fr/node/402
3/3