Developing Smart Card-Based Applications Using Java Card

18

description

Smart Card applications

Transcript of Developing Smart Card-Based Applications Using Java Card

Page 1: Developing Smart Card-Based Applications Using Java Card

����������� �����������������������! #"$�&%�����'( ��)*������+�+%,�%������.-/���0�1�������!2

3547698;:<3;6>=?;@A4CB�DE698AFA4G*6>HIHI40698AFKJ�LNMI=�DKO4PQMIHRHS69LNFTVUXWZY5[]\;^*_�UX^`UbaCcNd`efTgcNhC\5Y

ikjlW0aCm][n^XoqpQrbsQt>uXrbt>vxwysCzN{Iv`|A}�z~sx�bsNt>zlvN���]�>sX���A�n�>�N�IvQ�7�

���#�b��X���>�����y���le5mn^�Y�aCYAUNc���Uk��Ub^`dQc`m]�AU�a�W�UX�le�h>�5hC[nh��7���yhCck�5UX�7UQ[nhCY5m]�;�*^`W0aCcN�dXaCcN�>jS�;a7^`UX��aY�Y5[]mndXa��lmnh�;^/��e5mnd e¡a�dXdbhC\5�5�`^��yhCc��Ah��le¢m]�5�`UQc`�;a[EaC����UX£>�`UQc`��aC[^`hC�S�~��aCcNU!Y5cNh>�>\;dX�lmnh�#o0hC�5j~dXaCcN�¤a�;�¥dQ[]mnUN�5�!Y�cNh7�CcNa7W�^X¦*§�e�mn^��5UX��UQ[nhY;W0UQ�5�W�UX�le�h>��h[nh���� mn^*�;a7^`UX� h�K�le;U&aY�Y5[]mndXa��lmnh�¨hC���>mn^`�lc`m]�5\;�`UX�©h�5ª`UXdX�lj~hCc`mnUN�5�`UX�Y�c`m]��dQm]Y5[nUX^��`h*«�a�a*¬�aCcN�A¦�­�U���Ub^lmn�C��aVW�h>�5UQ[5m]�&��e�mnd`e&aEdXaCcN��aY�Y5[]mndXa7�lmnhC�/mn^��mnUX��UX�&a�^®aVcNUXW�h��`U�h��ª<UXdX��a7dXdXUX^`^`UX�&�le5cNhC\��Ce¯W�UX�le�h>��m]�5�7h>dXa��lmnh�;^�e;a�;�>[nUX��5��aVY�cNh£>�&hC�5ª`UbdX��UX£>UXdN\;�lm]����hC���le�UV�`UQcNW�m]�;a[S¦;­°mn�le¯aZ^lmnW�Y�[nU*UX£>a7WZY5[nU�±;��U^le;h��e�hC�©�le5mn^�W�h>�5UQ[qUQ��e�aC��dXUX^E�le;UE��Ub��UQ[nhY;W�UN�5�VhC�²^`W�aCcN�®dXaCcN�>jS�;a7^`UX��aY�jY�[]mndXa7�lmnhC��^Z�5��a[][nh�³m]���f«�aC�a�Y5cNh��CcNa7W�W�UQcN^*�`h&cNaCY5mn�9[n���5UX^lmn�C�Ka�;���5UX��UQ[nhYhC�5jldbaCcN��a�;��hC´;j~dXacN�ZY5cNh��CcNa7W�^��³mn�le�hC\�����hCc`cN��m]���*aC�Ah\;���le�Ug^lYµUXdQm]¶�dg^`W0aCcN�dXaCcN���SUXa7�l\�cNUb^X¦>§�e�mn^�^`d`e�UXW�Uge�a�^��AUXUQ��mnWZY�[nUbW�UQ�5�`UX��a�^��le�UVdXhcNU��`UXd e5��hC[nh��7�m]���le�UETVUXWZY5[]\;^E«�a�a�¬�aCcN�&aCY5Y�[]mndba��lmnhC���5UX�7UQ[nhCY�W�UQ�5��UQ�5��m]cNh�;W�UN�5��·�s�V¸*¹�qzlsX�Q�b�Zº®»�¼E¦½�¾>¿�À�ÁA�XÂk���²«�a�Ca�¬�aCcN��^`hC�y�l��acNUVY�cNh>�>\;db�lmnhC�q±�Ã9W0aCcN�*dXacN�9jS��a�^`UX��aCY5Y�[]mndbaCj�lmnhC���5UX^lmn�C�q±qÄg�5ª`UXdX�lj~hCc`mnUN�5�`UX���IcNa�W0UX��hCc`ÅA¦

Æ Ç©È�ÉAÊVËEÌAÍ�ÎZÏ�ÐÑÈ�Ï�ÐÓÒ¨ÔVÕ;Ö�É#×AØ`ÙEÖÛÚ

Ü`8©PQÝAMIB&BN4=CPNMIÞ58ßGE4/LQ4à;MR4CGáPNÝA4/4Câ�4LQã548;P�698AF©äALNÞ�â�MIBNMI8Aã!Þ5ä#48¨BQâf69LNP�=76>LQF¨FA4Cà54Hå:Þ�äAâ�48;P�äAHS6>P æ~Þ5LQâèçq6>BQ4F¥Þ�8éPQÝA4K3;6�à56¢ê*69LNF¤BNä#4=Måëq=769PNMIÞ58ÛìEí©4 ã�MRà�4K6>8¤Þ>à54LQà;MR4CGÞ9æEPNÝA4�äALQÞ�=C4BNBQ4B�MI8;à5Þ�HIà54F MI8¢PQÝA4�=LN4769PNMIÞ58�Þ>æ*6/3�6�à56!ê*6>LQF;:<ç#6>BN4CF¡69äAäAHIMI=76>PQMRÞ�8�ìAí©4Þ�@APNHIMI8A4 PNÝA4�HIMIâ�MIPNB&Þ9æ�PNÝ�4¢3;6�à56©ê*6>LNFîBNä#4=Måëq=769PNMIÞ58ï6>B 6�â�Þ;FA4H�æ~Þ5L!PNÝA4KMI8;PN4CLb6>=x:PQMRÞ�8 çq4P`GV448�3�6�à56/ê*69LNFK6>ä�äAHI4PNB�6>8AFKPQÝA4&Þ�@APNBQMRF�4&GEÞ�LNHIF�ì;í©4�PNÝ�48¢BQÝAÞ>GðÝAÞ>GñPQÝAMIBHIMIâ�MIP�Ý#6>B*çALQÞ5@Aã�Ý�PV@AB*PQÞ�FA4xëq8A4&6&F�4à54HIÞ�äAâ�48;PVâ�4PQÝAÞ;FAÞ5HIÞ�ã5ò&çq69BN4F Þ�8�FAMIBNPQLNMIçA@APQ4FÞ�ç5óX4=P :<Þ�LNMI48;PN4F°äALNMI8A=MIäAHI4B�69äAäAHIMI4F�PQÞ/3�6�à56�ê*6>LQFAB7ì

ô#õSô ök÷;ø;÷¤ù�÷Aú5û¤ü&ú>ýlþ�ÿ�������������� �������©÷Aú��+ù0÷Aú5û���Z@ALQMR8�ã�PNÝ�4/äq6>BQP&P`GE4C8�P`ò°ò54769LNB&BQâf6>LQP�=76>LQFAB&Ýq6�à�4�4à�Þ5HIà54CFKæ~LQÞ5âÓBNMIâ�äAHI4&F�4FAMI=76>PQ4FFA4Cà�MI=4CB��SäAÝ�Þ58A4/=769LNFAB��kælLN48A=XÝ��Xê*6>LNPQ4��EHI4@�4�� ��PQÞ Þ5ä#48©=Þ5â!äA@APQMR8�ã/äAHS6>P`ælÞ5LNâ!B"!$#&%�

')(+*+,-*.*-/102(3*4,5*76�*+890�*48$:<;=8$*-01:+>7*48@?1ACB4D�E1F1/�G�H I98$B-AKJ1AL;$:+>7ACMK/NI-OQPC:4>.R�ST8$:+A=A@BU�V�W H A<*X;@8$*-01:4>.*48@?�B+D�PC:4>.SNY F1A3OQV�Y YB4;$ZN:98 ST8$B[0NF1I9;�/1*->.:4A�>.:+/-;9H B-/1/1:40Z1:989:+H /�*48$:<;9Z1:\;@89*50N:+>7*+8=?1A�B+D�;$ZN:+H 8C89:+A@S]:+I3;$H ,-:<B+^�/1:989A9O

Page 2: Developing Smart Card-Based Applications Using Java Card

������Nì���4BN4�6>LN=XÝ�G 69B*æ~Þ;=@�BNMI8Aã�Þ�8 äALNÞ>à;MIFAMI8Aã/äALQÞ5ã5LX6>â!âf6>ç�Hn4�BQâf69LNP*=769LNFABZPNÞ�4C8q6>çAHI4äALQÞ5ã5LX6>â!â�4LQB/PNÞ¤G*LNMIPN4°PNÝA4â!BN4HIà�4B =76>LQF 69äAäAHIMI=76>PQMRÞ�8AB�Þ�8¥PNÞ�äñÞ9æ¯6©=�6>LNFðà;MILNPN@#6>Hâf69=XÝAMI8A4&4��;4=@�PNMI8AãKPQÝA4/=Þ;FA4/MI8¡6!ä#Þ5LQPb6>ç�HR4/6>8�F¢BQ4=@ALQ4f4C8�à;MILNÞ�8Aâ�4C8�P"!9#���� ì#í¥MIPQÝPNÝ�406>F�à548;P�Þ9æ²3;6�à560ê*69LNF !9# ���1�>ä�LNÞ5â!Þ5PQ4F�ç;ò��;@A8�698AF�PQÝA4�3;6�à56�ê*6>LNF���Þ5LQ@Aâ �CBNâ 6>LNP=769LNF PN4=XÝA8�Þ5HIÞ5ã�ò�Ýq69BEç#448!âf69FA4�6>==C4BNBQMRç�HR4�PQÞ�6&G*MIFA4*ç#Þ;FAò/Þ>æ�ä�LNÞ5ã�Lb69â�â�4CLNB���â!Þ5BNPÞ>æ�PQÝA4â 8A4GðPNÞ/BNâ 6>LQPE=769LNF äALQÞ5ã5LX6>â!â�MI8Aãqì

� 3;6�à56Kê*6>LQF¨MIB&BQMRâ!äAHIòKFA4Xë#8A4Fé69B¯6 BNâf69LNP&=�6>LNFßPNÝq69P�MIB&=�6>äq69çAHI4�Þ>æ�LQ@A8A8AMI8Aã3�6�à56+äALNÞ�ã5LX6>â�B�ìA3;6�à56�ê*6>LQFKçALQMR8�ã5B�PNÝA4�Þ5ç5óx4=P`:`Þ5LQMI48;PN4F�äALNÞ�ã5LX6>â�â!MI8Aã&â�Þ;FA4CH�PNÝ#6>PMIB*48;æ~Þ�LN=4CF¢ç;ò�PQÝA4�@ABb69ã54&Þ9æ®PQÝA4&3�6�à56 äALQÞ5ã5LX6>â!â�MI8Aã�HS6>8Aã�@q6>ã�45ì��Zç5óX4=PZÞ5LNMI48;PX6>PNMIÞ�8çALQMR8�ã5B&PQÞK=76>LQF©äALNÞ�ã5LX6>â�â!MI8Aã�PQÝA4�BX6>â!4¯69FAà56>8;Pb69ã54B�PQÝq6>P&MIP�çALQMR8�ã5B&4HIBQ4G*ÝA4LQ4C��ç;ò48A=CÞ5@ALX6>ã5MI8AãßPNÝA4�FA4à�4HIÞ5äAâ!48;P/Þ>æ&=Þ;FA4KMI8¥BQâf69HRH*6>8�F¥BN4HåæS:`=Þ�8�PX6>MI8A4Fî@A8AMIPNB�ì��*ÝAMIB6>ä�äALNÞ;6>=XÝ©çALNMI8Aã�B�â�Þ;FA@AHS6>LQMIP`ò �;48�=76>äABQ@AHS6>PQMRÞ�8¡698AF�MR8µæ~Þ5LQâf6>PQMIÞ58 ÝAMIFAMI8Aã�PQÞ =76>LQF¨6>ä;:äAHIMI=76>PQMIÞ58AB�ì��*Ý�MRBZHI476>FAB�PQÞfâ!Þ5LQ40MI8AF�4äq4C8AFA48A=C4�ç#4P`GE4C48©Þ5ç5óX4C=PNB��®698AF¢6/LQ4BNPQLNMI=PQMRÞ�8Þ>æ�PQÝA4�MR8;PQ4Lb69=PNMIÞ58�B*çq4P`GV448�Þ5ç5óx4=PNBZPNÞ�GE4CHRHå:`FA4Xëq8�4FKMI8;PN4L æ<6>=4CB7ì

�Z4à54LQPNÝA4CHR4CBNB��VPQÝA4K3�6�à56�ê*6>LQF¤Þ5ç5óX4=CP`:`Þ5LNMI48;PQ4Fñ6>ä�äALNÞ;6>=XݤÞ58AHIò¨6>F�FALN4BQBN4B��QÞ58;:=769LNF�/BQÞ>æ~P`G*6>LQ40ä�LNÞ;FA@A=PQMIÞ58�ì � =Þ�â�äAHI4PQ4�BQâf6>LQP�=769LNF¢69äAäAHIMI=76>PQMRÞ�8�6>HIBNÞ�MI8A=HI@AFA4CB*PNÝA4�NÞ��q:`=769LNF�/BQÞ>æ~P`G*6>LQ4 � PNÝA4�6>äAäAHIMI=769PNMIÞ58!LN@A8A8�MR8�ã/Þ58f6�Ý�Þ5BNP��>PQ4LNâ!MR8#6>H�6>B�6 =HIMI48;P*äALNÞ9:ã5LX6>â Þ>æ�6�BNâf69LNPV=76>LQFK6>äAäAHI4P]�ì��*ÝA4�3�6�à56�ê*6>LNF BQPb6>8�Fq6>LQFKÝq6>B���4äAP*PQÝA4&PNLX6>FAMIPQMRÞ�8q6>H=Þ�â�â/@A8AMI=769PNMIÞ58 â�Þ;FA4H#çq4CP`GE44C8 6 BNâ 6>LQP�=76>LQFK6>8AF!MRPQBE=CHRMI48;PQB��;G*ÝAMI=XÝ�MIBVGE4HIHå:`BN@AMIPN4CFæ~Þ�L®PQÝA4*LN4CBNÞ5HI@APQMIÞ58/Þ>æ#HR4Cã�6>=Cò&äALNÞ�çAHI4â�B���HRMI8���4F�PNÞ�PNÝA4*=CÞ58;PNMI8;@A4F/@ABQ4*Þ>æk4��;MIBNPNMI8Aã�=769LNF6>ä�äAHIMR=�6>PNMIÞ�8ABEBQPb698AFq6>LQFAB7ì � BZBN@A=XÝ���MRPVFAÞ;4BZ8AÞ5P*äALQÞ5ä#Þ5BQ4�6�BQPb698AFq6>LQF Þ5ç5óX4=CP`:`Þ5LNMI48;PQ4FG*6�ò&PNÞ�FA4Xë#8A406ZÝAMIã5ݵ:<HI4à�4H;MR8;PQ4L`æ<69=4*ç#4P`GE4C48f6Z=769LNF�6>ä�äAHI4P�6>8AF/MIPNB�=HIMI48;P�äALNÞ�ã5LX6>â¢ì

Ü`8�P`ò;äAMI=76>H�BNâ 6>LNPk=�6>LNFµ:<çq69BN4F/6>ä�äAHIMR=�6>PNMIÞ�8ABkPNÝA4g=Þ5â!â/@A8AMI=76>PQMIÞ58Vçq4P`GV448�PNÝ�4E=769LNF6>ä�äAHIMR=�6>PNMIÞ�8¯698AF�PQÝA4�=CHRMI48;P�MIB�FA4Xë#8A4F�ç;ò&=CÞ5â�â 6>8AF�B �SPNÞ =76>LQF.��6>8�F/LN4BQäqÞ�8ABN4B)�yæ~LNÞ�â=769LNF.��4â/çq4CFAFA4F!MR8 � äAäAHIMI=76>PQMRÞ�8���LNÞ�ã5LX6>â ��6>PX6! Z8AMIPNB)� � � �" �B]�ì�Ü`8f3;6�à56&ê*6>LQF��q6=769LNF/6>äAäAHIMI=769PNMIÞ58�=Þ�â�â/@A8AMI=769PN4B#G*MIPNÝ&PQÝA4VÞ5@APQBNMIFA4VGEÞ�LNHIF&PNÝ�LNÞ5@�ã5Ý�698&MI8ABNPX6>8A=4VÞ>æ#PNÝA4=HS6>BQB$#&%('�%�)*%(+&,.-0/&+�%�1�2*3�4�+*5�-76&8*8�9&2(:0PQÝq6>P*ä�LNÞ>à;MIFA4B�6�â�4CPNÝAÞ;F�PQÞ/äALNÞ;=4CBNB � � �" �B�ì

ô#õ<; = �qú�� ������������ú>ý5�;þ���÷��ý+�#þ�*ÝA4K3;6�à56¢ê*69LNFßBNä#4=Måëq=769PNMIÞ58¥F�4BN=LQMIçq4BK6°HIMRâ!MIPN4F©à�4LNBQMRÞ�8¤Þ>æ0PQÝA4 3�6�à56°HS6>8Aã�@q6>ã�46>8�F¨äAHS6>P æ~Þ5LQâ�GE4HIHVFA4FAMI=769PN4F¤PQÞ¢BQâf6>LQP&=769LNFAB�698AF¨HI4ã;6>=ò¨69äAäAHIMI=76>PQMRÞ�8AB7ì��Z4Xëq8AMI8AãPNÝ�4/=Þ5â!â/@A8AMI=76>PQMIÞ58�ç#4P`GV448ßPNÝA4/=769LNF¨69äAäAHIMI=76>PQMRÞ�8K6>8AF©PQÝA4�Þ�@APNBQMIFA4/GEÞ�LNHIF©6>B�4���:=XÝq6>8�ã54B�Þ>æ � � �" �B*ælÞ5LN=C4B�äALQÞ5ã�Lb6>â!â�4LQBEPQÞ/FA4BQMRã�8¢6/ä�LNÞ5ä�LNMI4Pb69LNò!äALNÞ�PNÞ;=Þ5HÛæ~Þ�L*4à�:4LQò¨6>äAäAHIMI=769PNMIÞ58�PNÝA4Cò¢G*LQMRPQ45ì �EÞ�PNݨPQÝA4�=CHRMI48;P&ä�LNÞ5ã�Lb69â�6>8�F©PNÝA4!=76>LQF¨6>äAäAHI4P Ýq6�à54PNÞ©MIâ!äAHI4â/48;P&6KBQMRã�8AMåëq=7698�P/6>â!Þ5@A8;P�Þ>æ�PN4F�MRÞ�@AB/=Þ;FA4 PNÞ�48A=CÞ�F�4¢6>8AFßFA4=Þ;FA4°PNÝA4MI8;æ~Þ�LNâf69PNMIÞ58/4���=XÝq698Aã54CF¡69==Þ5LQFAMI8Aã5HIò G*MIPNÝ PNÝ�4�äALQÞ5PQÞ�=CÞ5H�FA4Xëq8�4F�ì��*ÝAMIB�69äAäALNÞ;6>=XÝKMIB=@Aâ/ç#4LQBNÞ5â!4&PNÞ äALQÞ5ã�Lb6>â �A6>8AF�MIP*æ~Þ�LN=4CB&PNÝA4�FA4à�4HIÞ5ä#4L�PNÞ!æ~Þ;=@AB�Þ�8KPNÝA4/F�4Xëq8AMIPNMIÞ�8Þ>æ�6&BQâf69LNP`:`=769LNF�F�4FAMI=76>PQ4F HIÞ>GV:<HI4à�4Hqä�LNÞ5PQÞ;=Þ5HkLX6>PNÝ�4L*PNÝq698�Þ�8�PNÝ�40Þ�ç5óX4=P*F�4BNMIã58 Þ9æPNÝ�4&G*ÝAÞ5HI4�6>äAäAHIMI=769PNMIÞ58�ì

Ü`8 PNÝ�MRBVäq69äq4LZGE4�äALQÞ5ä#Þ5BQ4�6&F�4à54HIÞ�äAâ�48;PVâ�4PQÝAÞ;FAÞ5HIÞ�ã5ò�G*ÝAMI=bÝK69HRHIÞ>G*B�PQÝA4&=769LNF6>8�FK=HIMI48;P�äALQÞ5ã5LX6>â!â�4LQB�8AÞ5PZPNÞ!GEÞ�LNLNò 6>ç#Þ5@APZPNÝA4 äALNÞ�PNÞ;=Þ5H�ç#4P`GV448�PNÝA4&=�6>LNF�6>8AFPNÝ�4/ÝAÞ5BQP7ì��*ÝAMIB�â�4CPNÝAÞ;FAÞ�HRÞ�ã5ò!MRB�çq69BN4F©Þ�8¢PQÝA4�LN4äALQ4BN4C8�PX6>PQMRÞ�8¨Þ9æEPNÝA4/=CHRMI48;P��>BN4CLNà54CL6>LQ=XÝAMIPN4=PQ@ALN4 âf6>F�4�ç;ò/PNÝA4�ÝAÞ�BNP*6>8AF!PNÝA4�=769LNFK6>B*6 FAMIBNPNLQMIçA@APN4CFfÞ�ç5óX4=P*BQò;BNPN4Câ¢ì&�*ÝA43�6�à56Zê*6>LQF&MIB�=Þ�8ABNMIFA4LQ4F/6>B�6VBN4LQà54LgLN@A8A8�MR8�ã06>8�6>äAäAHIMI=769PNMIÞ58�PNÝ#6>P�MIBÛFA4BN=CLNMIçq4CF/ç�ò&698>@?�ACBED@F�G*H�B�ìI�*ÝA4/=76>LQF¡69äAäAHI4P&MIB�6�=CHy69BNB&PQÝq6>P�MIâ�ä�HR4Câ�48;PNBVPNÝ�MRB MR8;PQ4L`æ<69=45ì��*Ý�4�=HIMI48;P

Page 3: Developing Smart Card-Based Applications Using Java Card

äALQÞ5ã�Lb6>â�=Þ�â�â/@A8�MR=�6>PN4CB�G*MIPNÝßPNÝA4!=76>LQFé6>ä�äAHI4P¯69==Þ�LNFAMI8Aã�HRò�PNÞ�PNÝ�4 D B ��� ACB ����� B HEAMI8;PN4L æ<6>=C45ì��*ÝA4/MI8;PN4L æ<6>=C4/MRB�6��;MI8AF�Þ>æ*=Þ58;PQLb6>=CP&PNÝq69P&çAMI8AFAB&6 BQ4LNà�4L�PNÞ MIPNB&=HIMI48;PNB�ì�*ÝA4�BQ4LNà�4L�ã�@q6>LX6>8;PN44CB*PNÝq69P*MRPVG*MIHIHqLQ4BNä#Þ58AF �²69BE4���ä#4=PQ4F��kPQÞ�PQÝA4�â�4PQÝAÞ;FABVFA4Xëq8A4CFMI8�PQÝA4&MI8;PN4L æ<6>=C45ì

��Þ5L�PNÝA4 =Þ�â�â/@A8AMI=769PNMIÞ58°çq4P`GV448î=HIMR4C8�P�äALQÞ5ã5LX6>â!B�6>8AF¤=769LNF¥6>ä�äAHI4P�GV4 Ýq6�à54FA4xëq8A4F¨6 ä�LNÞ5PQÞ;=Þ5H�=�6>HIHI4F� >@D B�HEA� BEA � ����� ?�� � H G(A > � ? �5��� Ü1�&��G*Ý�MR=XÝ�48A=769äABN@�Hy69PN4B=HIMI48;PVLN4?;@A4BQPNBZPNÞ�PNÝA4�=769LNFK6>äAä�HR4CPNB7ì&�*Ý�4 ��� ÜgäALNÞ�PNÞ;=Þ5HkHIMI8��;BVPNÝA4Z=76>LQFfPQÞ�PQÝA4�ÝAÞ5BQP698AF�FA4xëq8A4B�PNÝ�40G*6�ò�MI8!G*ÝAMI=bÝ PQÝA4&=769LNFK6>äAä�HR4CP�6>8AF PNÝ�4&=HIMI48;PEäALQÞ5ã�Lb6>â =Þ�â�â/@A8AMå:=769PN45ì �*ÝA4/äALNÞ�PNÞ;=Þ�H�MIB0Ý#6>8AFAHI4F�ç;òKPNÝ�4/3�6�à56�ê*69LNF©Þ�äq4LX6>PQMR8�ãfBQò;BNPN4Câ �#âf6���MI8Aã/PQÝA4=769LNF©6>äAä�HR4CP0BQÞ5@ALQ=4/=Þ;FA4�48;PN4LQ4HIò¢MI8AF�4äq4C8AFA48;P�Þ>æEMIP7ì��Z8�PNÝA4�=HIMI48;P0BQMIFA4�PQÝA4/äALQÞ>:PQÞ�=CÞ5H�MIBVÝq6>8�FAHI4FKç;ò�6�� D ����� äALNÞ�ã5Lb69âáG*ÝAMI=XÝ MRB�69@APNÞ�âf69PNMI=76>HIHIò&ã�48A4LX6>PN4CFKæ~LQÞ5âáPQÝA4MI8;PN4L æ<6>=C45ì*�*Ý�4*äALNÞ �;ò�LN4äALQ4BN4C8�PQB�PQÝA4*LN4â!Þ5PQ4*Þ5ç5óX4=CP � PNÝA4Z=76>LQF�6>äAäAHI4P]��Þ58/PQÝA4�=CHRMI48;PBQMRF�4&ç;ò�Þ �k4LQMR8�ã�PNÞ!PNÝA4 =HIMR4C8�PZäALNÞ�ã5LX6>âÑPNÝ�4&MI8�PQ4L`æ`6>=4&MIâ!äAHI4â�48;PQ4F�ç;ò PNÝA4�6>äAäAHI4P�ì�*ÝA4VäALQÞ ��ò�MIâ�ä�HR4Câ�48;PNBkPQÝA4V=76>LQF¯69äAäAHI4P�MI8�PQ4L`æ`6>=4VçA@AP�MIP�=Þ58;Pb69MI8AB�PNÝA4V=Þ;FA4*LN4C?�@�MRLQ4FPQÞ�MI8;à5Þ(�54�PQÝA4&=769LNFK6>ä�äAHI4P*â�4PQÝAÞ;FABV@ABNMI8Aã/PQÝA4 ��� Ü�äALQÞ5PQÞ�=CÞ5H � BN44 ��MIã�@ALN4�#��ì

Appletimplementsinterface

Card

DMI

Terminal

Client program

Proxyimplementsinterface

��MIã#ìQ#�ì����MIBQPNLNMIçA@�PN4F Þ5ç5óx4=P`:`Þ5LQMI48;PN4FKBQâf69LNPV=76>LQF;:<ç#6>BN4CF¢6>äAä�HRMI=769PNMIÞ58

ô#õ � �������lý~þ���� � �"!��$#Z÷�% �;ú

�;4C=PNMIÞ58'&Z4��;äAHS6>MI8AB�MI8/FA4Pb69MIHAÝAÞ>G¨PQÞ&FA4à�4HIÞ5ä/6�3�6�à56�ê*69LNF;:`çq6>BQ4F�6>ä�äAHIMR=�6>PNMIÞ�8AB�@ABNMI8AãPQÝA4/äALNÞ�PNÞ;=Þ�Hn:`Þ5LQMI48;PN4F©6>äAä�LNÞ�69=XÝ¢FA4xëq8A4Fßç�ò°PNÝA4/3;6�à56fê*69LNF�BNä#4=Måëq=769PNMIÞ58Ûì � =769LNF69äAäAHI4Pf698AF¥6©=HIMI48;P�ä�LNÞ5ã�Lb69â G*MIHIH*çq4�äALQÞ>à�MIFA4CF¥Þ58¤PNÝ�4¢çq69BNMIB�Þ9æ�6>8ñ69äAäAHIMI=76>PQMRÞ�8çA@�MRHIP�69LNÞ�@A8AFé6°BNMIâ!äAHI4 �Q=Þ5@A8;PQ4L1� ( ì��;4C=PNMIÞ58') MIHIHR@�BNPNLX6>PQ4B�Þ�@AL/6>äAäALQÞ�69=bÝßG*MIPNݨPQÝA4BX6>â�4�4��A69â�äAHI45ì&�*ÝA4�FA4BQMIã58Käq69PNPQ4LN8AB��kPNÝ�4�äALQÞ;=4BNBQ4B/6>8AF PNÝ�4�PQÞ�Þ�HIB�MIâ�äAHIMI4F!MR8°Þ5@AL69LN=XÝAMIPN4=CPN@ALQ4¯69LN4&FA4CBN=LQMRç#4F�ì ��MI8q69HIHRò<��GE4&Þ�@APNHIMI8A4�BNÞ�â�4Zäq4BQäq4C=PNMIà54CB&PNÞ!48AÝq698A=4�Þ5@ALâ!Þ�F�4H>MI8&P`GEÞZFAMILN4=CPNMIÞ58AB"��BN4=@�LNMIP`ò�6>8�F&LN4Xæl4LN48�=4*äq6>BQBNMI8AãZçq4P`GV448/=�6>LNF�B³698AF&=HIMI48;PNB�ì

*,+ []mn�Ce5�~��UQmn�e5� �7UQcN^lmnhC�¢h��aC�KUN[nUXdX�lcNhC�5mnd Y5\5cN^`U�±k^lm]��dXU�mn�ZdXa� �AU�m]��dQcNUXW�UQ�5�`Ub�°hc���UbdQcNUQjW�UQ�5�`UX���5�&aC�¯a�W�h\��5�X±;�5\��g�5h>UX^��;h7�³YµUQc`�ShCcNWïa�5��^`UXdN\�c`mn�~��dXh�5�lcNhC[S¦

Page 4: Developing Smart Card-Based Applications Using Java Card

� �¥ÖkÙEÖ��NÍ��ZØNÏ�Ë���È#Ù³È�¢È�ÌAÐ�>Ç©È�Ú�ÖÛÐ �������QØNÉkÈÛ×AØNÍ�ÏZÚ

�*ÝAMIBVBN4=PQMIÞ58�F�4BN=LQMIçq4BZÝAÞ>G¤PNÞ&F�4à54HIÞ�ä�6>8f69äAäAHIMI=76>PQMIÞ58�G*MRPQÝ�6�3�6�à56 ê*6>LNFÛì*�*ÝA4ZP`GEÞâf69MI8¢PX6>B �;B�69LN4C��PQÞ¢MIâ�ä�HR4Câ�48;P&6K3;6�à56Kê*6>LQFé69äAäAHI4P���698AF¨PQÞ¢MIâ!äAHI4â�48;P�6K=HIMI48;P6>ä�äAHIMR=�6>PNMIÞ�8/@ABNMI8Aã/PQÝA4�3�6�à56�ê*6>LNF 6>äAä�HR4CP*G*ÝA48 MIPEMIBVMR8�BN4LQPN4FKMI8 6&LQ476>FA4CL)!$#��<��������Nì�V@AP��*ç#4Xæ~Þ�LN4�PNÞ¤FA4PX6>MIH�PQÝA4BQ4©MRâ!äAHI4â�4C8�PX6>PQMRÞ�8AB��ÛMIP�MIB 8A4=4CBNBb69LNòðPNÞ¤4��A6>â!MI8A4 ÝAÞ>G=Þ�â�â/@A8AMI=769PNMIÞ58�G*MIPNÝ/BQâf69LNP�=76>LQFABVMRBgLN4769HRM��4CF��A6>8AF/Ý�Þ>Gé=CÞ5â�â/@�8AMn=769PNMIÞ58�MIB�Ýq698AFAHI4Fç;ò�PQÝA4&3�6�à56�ê*6>LQF � ��Üì

; õSô ù �7� � ��þ�ý[>÷��ý~þ�ÿ���ý5�"!¨÷ ���©÷Aú���ù�÷Aú5û��Þ�=CÞ5â�â/@�8AMI=76>PQ4EG*MIPNÝK6 BNâ 6>LNPV=769LNF ò5Þ�@�8A44CFfPQÞ/G*LNMIPN4&698f6>ä�äAHIMR=�6>PNMIÞ�8/PNÝq69P*BN48AF�B=Þ�â�âf698AFAB�PNÞ�6 BNâ 6>LQP�=76>LQF =Þ58A8�4=PN4CFKPNÞ/ò�Þ5@ALVÝAÞ5BQP*PNÝALQÞ5@Aã�Ýf6 LN4769FA4L�ì�� ��LNÞ5â PNÝA4ÝAÞ�BNP�PQÞ�PQÝA4�LN4�6>FA4L��>6>8AFZæ~LQÞ5âðPNÝA4�LQ476>F�4L�PNÞ*PNÝ�4�BNâ 6>LNPk=�6>LNF Fq6>PX6 �S=Þ�â�âf698AFABq698AF&LQ4X:BNä#Þ58�BN4B]�*6>LN4*PQLb698ABNä#Þ5LQPN4F!@ABNMI8Aã�äALQÞ5PNÞ;=Þ�HIB7ì �*ÝA4*=CÞ5â�â/@�8AMI=76>PQMRÞ�8�äALQÞ5PQÞ�=CÞ5HIB�ç#4P`GE4C48BNâ 6>LQPE=769LNFAB�698AF�LQ476>F�4LNB�69LN4�FA4Xëq8�4F ç�ò�698�Ü ���ðBQPb698AFq6>LQF !9#�&��®69B������ � =bÝ#6>Lb69=PN4CLäALQÞ5PNÞ;=Þ�H+�kÞ5L���� ��� çAHIÞ;= ��:`=XÝq6>MI8AMI8AãVäALNÞ�PNÞ;=Þ�H3�CìE�*ÝA4�äALQÞ5çAHI4âïMIB�PQÝq6>PÛPNÝA4CLN4VMRBÛ8AÞ�BQPb698;:Fq69LNFAM��4F!äALNÞ�PNÞ;=Þ�Hkçq4P`GV448 PQÝA4�ÝAÞ�BNP*6>8AF/PQÝA4�LQ476>F�4L7ì&��Þ&ä#4LNâ!MIP�PNÝA4ZFA4BQ=LNMIäAPQMRÞ�8�Þ9æ=769LNF/=Þ�â�âf698AFAB#MI8AFA4ä#48AFq698;PNHIò&Þ>æ#ÝAÞ5BQP`:`LN4769FA4L*6>8AF&LQ476>F�4L`:`=76>LQF�äALQÞ5PQÞ�=CÞ5HIB�6Væ~Þ�LNâf69PÝq69B�ç#448�BNPb698AFq69LNFAM��4F !9#C#�� #�&�� ì&�*Ý�MRB�æ~Þ5LQâf69PEFA4xëq8A4B�PNÝ�4�=Þ�â�â 6>8AF/â!4BNBX6>ã54�BQ48;Pæ~LQÞ5â(PQÝA4�=HIMR4C8�P�6>äAäAHIMI=769PNMIÞ58��#6>8AF�PNÝ�4/LN4BQäqÞ�8ABN4!â�4BQBb6>ã�4&LN4CPN@ALQ8A4F¨ç;òKPQÝA4/=769LNF�PNÞPNÝ�4&=HIMI48;P�6>äAäAHIMI=769PNMIÞ58 6>B�! ����" >@H�G*AC> � ?$#�D � A � H � " �!G(A G&% ?�>@A('�� � � � ZBQ�Cì²Jg6>=XÝ âf6>8µ:@;æ<69=PN@�LN4L*äALQÞ>à;MRF�4BE6�FALQMIà54L�PQÞ&PNLX6>8ABQäqÞ�LNP � � �" ZBEG*MIPNÝ�MIPNB�ä�LNÞ5ä�LNMI4Pb69LNò/ÝAÞ�BNP :<LQ476>FA4CLäALQÞ5PNÞ;=Þ�H � BN44 �ÛMIã5@�LN4 &\�ì

1 byteCLAINS LeDataInP1 P2 Lc

Lc bytes

SW1SW2

Command APDU with data sent to the card

Response APDU with data returned by the card

Host-Reader Protocol T=0/T=1 Protocol

Processes APDUs

Host

Client application

Reader driver Reader Card application

CommandAPDU APDU

Response

DataOutLr bytes

APDUs APDUs

�ÛMIãqì &�ì��AêVÞ5â�â/@�8AMn=769PNMIÞ58�G*MIPNÝ � äAäAHIMI=769PNMIÞ58 ��LNÞ�PNÞ;=Þ5H���6>Pb6 �8�MRPQB

�*ÝA4gâ�47698AMI8Aã*Þ>æAPNÝ�4 � � �" éâ!4BNBX6>ã�4�ç;ò�PQ4B�=76>8 çq4VBN4P�ç;ò&6*BQPb6>8�Fq6>LQF���ç�ò&6�âf6>8µ:@;æ<69=PN@�LN4L���Þ�L�ç;ò¢6/F�4BNMIã58�4L&LN4Cã�6>LQFAMI8Aã�PQÝA4/6>äAäAHIMI=769PNMIÞ58KLQ4?;@AMILN4â!48;PNB�ì �µÞ5â�4 =Þ5â+:

Page 5: Developing Smart Card-Based Applications Using Java Card

â 6>8AF � � �" �B�6>LQ4�BNPX6>8AFq69LNFAM��4CF&ç;ò0à569LNMIÞ5@�BkBNPb698AFq69LNFAB�6>==Þ�LNFAMI8AãZPNÞ*PQÝA4�=769äq6>çAMIHIMIPNMI4BäALQÞ>à;MRF�4F&ç;ò�BNâf69LNPÛ=76>LQF¯69äAäAHIMI=76>PQMRÞ�8AB7ìE�AÞ�L�4��A69â�äAHI4C�XÜ ��� � �#E��:[%*FA4Xëq8A4CB�=Þ5â!âf698AFABæ~Þ�LZëqHI4/âf6>8#6>ã54Câ�48;P��;Ü ��� � �#E��: �/FA4xëq8A4B�=Þ5â!âf698AFABVæ~Þ�L&Fq6>PX6>çq69BN4/â 6>8q69ã54â!48;P��698AF¯J � D¤FA4Xëq8A4CBE=Þ�â�â 6>8AFAB#ælÞ5L�ã�48A4LX6>Hå:`äA@ALNä#Þ5BQ4�äq6�ò;â!48;P�âf698q6>ã�4â�4C8�P�ì�� �q:`PNÝA4x:BQÝA4HåæEBNâ 6>LQP�=769LNFAB&BQÞ5HIFKç;òKâ 6>8;@;æ<69=PN@ALQ4LNB�6>8AF�äALQÞ5äALQMR4CPb6>LQòKBNâ 6>LQP�=769LNFAB&F�4äAHIÞ>ò54Fç;òK8q69PNMIÞ58#6>H�Þ�LNã�698AMIBNâ!B�Þ5L�=Þ�8ABNÞ�LNPQMR@�â�B&FA4xëq8A4�6>HIBQÞfPQÝA4MIL�Þ>G*8¢=Þ�â�â 6>8AF � � � ZBæ~Þ�LEPQÝA4MIL�6>ä�äAHIMR=�6>PNMIÞ�8 � BE8A4C4FAB7ì

Ü`8¤æ<69=P��VPQÞ©=Þ5â!â/@A8AMI=76>PQ4�G*MIPNÝð6©BNâ 6>LQP/=76>LQF¤æ~LNÞ�â.6�=HIMI48;Pf6>ä�äAHIMR=�6>PNMIÞ�8éPQÝA4æ~Þ�HIHRÞ>G*MI8Aã�BQPN4äABZâ/@ABNPVç#4�æ~Þ5HIHIÞ>GV4F �#5ì���6�à54��;8AÞ>G*HI4FAã�4�Þ>æAPNÝA4g=76>LQF&=Þ5â!âf698AF*BN4P���MR8Zæ<69=PkPNÝ�4�HIMRBQPkÞ>æA=Þ�â�âf698AF � � � ZBPQÝq6>PZBNâf69LNP*=769LNFAB�=7698KäALQÞ�=C4BNB���PQÝA4&ä#Þ5BNBQMIçAHI4&à56>HI@A4B�æ~Þ5LZPNÝA4CMRLZäq6>LX6>â 6>PN4CLNB��#6>8AFPQÝA4�æ~Þ�LNâf69P�Þ>æ�Fq6>PX6Aì

&Aì �V@AMIHIF¢PQÝA4�=Þ�â�â 6>8AF � � � ZB&BN4C8�P�PNÞ BQâf6>LQP�=76>LQFAB�LQ4ã�69LNFAMI8Aã PQÝA4f69äAäAHIMI=76>PQMRà�4Fq69Pb6�LQ4PNLQMR4Cà54F ælLNÞ5â HRÞ;=769Hkà56>LQMy69çAHI4B��;F#6>Pb69çq6>BQ4B���@ABN4CL�MI8AäA@APQB���BEA H��

)Aì. ZBN4/6/FALQMRà�4L�PQÞ�PQLb6>8�BNä#Þ5LNP � � �" ZB�ælLNÞ5â PNÝ�4�ÝAÞ�BNPZPNÞ�PQÝA4&BQâf6>LQP*=76>LQFKPNÝ�LNÞ5@�ã5Ý6�LQ476>FA4CL7ì

%qì"�Z4=Þ;FA4/PQÝA4&LQ4BNä#Þ58ABQ4 � � �" �B�LN4ã;6>LQFAMI8Aã�PQÝA4&ælÞ5LNâ 6>PVÞ>æEF#6>Pb6+LN4PQ@ALN8�4F©ç;òfPQÝA4=769LNF¢698AFf698q6>HIò;BN4�PQÝA4�FAM �²4LQ48;P�ä#Þ5BQBNMIçAHI4�à56>HI@A4B*Þ9æ®PNÝ�4&BNPX6>PN@�B�ç;ò;PN4B�ì

; õ<; �!÷Aþ�û �lý~þ�ÿ©ù �.� � ��þ�ý 9÷�7ý-�#þ¢ýlþ¤ök÷�ø;÷ßù0÷�ú5û�� % % �5�<���

#�ú>ýlþ >ý % �+�� 3�6�à56©ê*69LNF¤FAÞ;4B�8�Þ5P/BNä#4=Måæ~ò¤ÝAÞ>G 6�=76>LQFñ6>äAä�HR4CP/Ýq6>B/PQÞ©çq4KHIÞ;6>FA4FÞ�L*MR8�MRPQMS6>HIM��4F��;Þ�L*ÝAÞ>GñPQÝA4&PQ4LNâ!MR8#6>Hkâf6�ò�Þ5ç�Pb6>MI8 MI8;æ~Þ�LNâf69PNMIÞ58�69çqÞ�@AP�6�BNâ 6>LQP*=76>LQF�ì�*ÝA4 3;6�à56Kê*6>LQFéBQäq4C=Måëq=76>PQMIÞ58¤MIB¯6°BNPX6>8AFq69LNFßæ~Þ�L�äALQÞ5ã�Lb6>â!â�4LQB��kG*Ý�Þ5BN4 ã�Þ�6>HVMIB/PNÞã�@q6>LX6>8;PN44©PQÝA4©MI8;PN4LQÞ5ä#4Lb69çAMIHRMIP`ò¥Þ9æ¯3;6�à56¤ê*6>LNFï6>ä�äAHIMR=�6>PNMIÞ�8ABK6>PKPQÝA4©BNÞ�@ALN=4ß=Þ;FA4HI4à�4H`ì��ÞKBQ@AäAä#Þ5LNP/PQÝAMIB�HI4à�4H*Þ>æ�MI8;PN4Cã5Lb69PNMIÞ58 �®6°3�6�à56Kê*69LNF¤6>äAäAHI4P�MIB�F�4Xëq8A4F¥69B¯6#&%('�%�)*%(+&,.-0/&+�%�1�2*3�4�+*5�-76&8*8�9&2(:fÞ�ç5óX4=P!G*MIPNÝ¥6�BN4P/Þ9æ&â�4PQÝAÞ;FAB � BN44 ��6>çAHI4 #���48µ:69çAHIMR8�ã/PNÝA4�69äAäAHI4P�PNÞ =Þ�â�â/@A8AMå=76>PQ4�PNÝALQÞ5@Aã�Ý #&%('�%�)*%(+&,.-0/&+�%�1�2*3�4(+(5 -76��� /Þ5ç5óx4=PNBì

#�ú��� ����Cý~þ�ÿ�� #���� � ��������� �*Ý�4�6>LQã5@Aâ!48;PE@ABQ4FKMI8K6>8K6>ä�äAHI4P � B�������:�%&9&9/6>8AF8&+�4�)�2���¢â!4PNÝ�Þ�F�B�MIBf698 6�� éÞ5ç5óx4=P7ì �*ÝAMIBfÞ�ç5óX4=P MIB�@�BN4FïPQÞ¨48A=�6>äABQ@AHS6>PN4©PQÝA4=Þ�â�â 6>8AF/6>8AF LQ4BNä#Þ58ABQ4 � � � ZB�4��;=XÝq698Aã54F°ç�ò/PQÝA4&=769LNF G*MIPNÝ ç#Þ5PNÝ PQÝA4!�����/6>8AF����#&ä�LNÞ5PQÞ;=Þ5HIB7ì � 8 6�� Þ5ç5óX4=CP0MIBZÝq6>8AF�HR4CF¢6>B�6/çA@&�k4L�MI8KG*ÝAMI=XÝKPNÝ�4¯69äAäAHIMI=76>PQMRÞ�8=7698/ëqLQBNPVLN4769F�PQÝA4�=Þ5â!âf6>8�F � � �" ðLN4=C4MIà54F��A698AF�PQÝA48 =7698�G*LNMIPQ4�PNÝ�4�LN4CBNä#Þ58ABQ4&PNÞç#4�BN48;P�ç#6>=�� � BN44 �ÛMIã )\�ì

�*ÝA4 �bJ�8AFX�¢BQPb6>PQ4�MIB�LN4769=bÝ�4F¤ç�ò©BQ4PNPQMI8Aã¢PQÝA4�LQ4BNä#Þ58�BN4 � � �" � B�BQPb69PN@AB�ç;ò�PQ4B7ì�*ÝALQ44&=769BN4BZâf6�ò�Þ;==@AL"�#5ìVÜlæ�PNÝA4!8&+�4�)*2����Þ5L������ :�%&9&9&â!4PNÝAÞ;F!4��;4=@APQ4B&6>8AF+ëq8AMIBNÝA4CB�8AÞ�LNâf69HIHRò<��PNÝA4C8fPQÝA43;ê���J�BN4C8AFABVPNÝA4*BQPb6>PQ@ABV=Þ;FA4� �!#" ��S8�Þ5LNâ 6>H�=Þ5â!äAHI4PNMIÞ587��6>BgPNÝA4*BQPb6>PQ@ABVç�ò;PQ4BÞ9æ®PNÝ�4&LN4BQäqÞ�8ABN4 � � � �ì

&AìVÜlækPNÝA4.8&+�4�)*2���*Þ5L$����� :�% 9&9Zâ�4CPNÝAÞ;F&PQÝALNÞ>G*B�6>8&%�'(�)!I)*2(8 :*� 4����NPQÝA48/PNÝ�4E3;ê���JBQ48AFAB�PNÝ�4�LN4769BNÞ�8&æ~Þ�LkPNÝq69P�4��;=4CäAPNMIÞ58�6>B�PQÝA4�BQPb6>PQ@AB�ç;ò�PQ4B�Þ9æAPNÝA4�LQ4BNä#Þ58�BN4 � � � �ì

Page 6: Developing Smart Card-Based Applications Using Java Card

= �<��!���û � � ��>ú>ý %��7ý4�qþ'�4��E, ����� :�% 9&9 � 6�� %*8&,���� �;Pb69PNMI=�â�4PQÝAÞ;F¢=769HIHR4CF©ç�ò°PNÝA4/3;ê���JðFA@ALQMI8Aã PNÝA4

ëq8q69HkBNPb69ã54&Þ9æE6>äAäAHI4P*MI8ABQPb69HRHS69PNMIÞ58�ì � HIHIÞ;=76>PQ4B�6>8�FMI8AMIPNMS6>HIM��4B�PNÝ�4 69äAäAHI4P�ì � =Þ5â!âf698AF � � � =7698BN4LQà54�PQÞ*äALNÞ>à;MIFA4�MI8AMIPQMy69HIM ��6>PNMIÞ�8Eäq69Lb69â�4PQ4LNBÛPNÞ*PNÝ�MRBâ�4PQÝAÞ;F���6>8�Fñ6©LQ4BNä#Þ58ABQ4 � � �" �=7698¥LN4PQ@ALN8�4FMI8;æ~Þ5LQâf69PNMIÞ58�Þ58!PNÝA4&ä�LNÞ;=4BQBNMI8Aã�Þ9æ®PQÝAMIB*â�4PQÝAÞ;F�ì

'�4��E, ,�2��*2&9 2�) : � � ê*6>HIHI4F¤ç;ò¨PNÝ�4¢3;ê���J�G*ÝA4C8¥PNÝA4©6>ä�äAHI4P�MIB/FA4B :4HI4=PQ4F�� > �@B���G*Ý�48¥6>8AÞ�PNÝA4L�69äAäAHI4P�MIB�BQ4HI4=PN4CF.�ìêVÞ58;Pb69MI8ABk=Þ;FA4*PNÝ#6>P�â/@�BNP�ç#4V4��;4=@APQ4F�6>PÛPNÝA4V48AFÞ>æ�476>=XÝ BN4BQBNMIÞ58°G*MRPQÝ PNÝA4&6>ä�äAHI4P7ì

� 4 4&9&2&%�� �*2&9&2�)�: � � ê*6>HIHI4F�ç;ò�PNÝ�4E3;ê���J!G*ÝA48�PNÝA4V6>äAäAHI4PÛMIB�BN4CHR4C=PN4FÛìêVÞ58;Pb69MI8AB�=Þ;FA4ZPNÝq69P�â/@ABNP�ç#4*4��;4=@APQ4Ff69P®PQÝA4*ç#4X:ã5MI8A8AMI8Aã Þ>æ®4�6>=XÝK8A4GðBN4CBNBNMIÞ�8KG*MIPNÝ�PQÝA4�69äAäAHI4P7ì

'�4��E, 8&+�4�)*2��� � 6�� %*8&,���� �K6>MI8 â�4CPNÝAÞ;F��;G*ÝAMI=XÝKLQ4=4MIà54CB�698AFKäALQÞ;=4BNBQ4B�69HRHPNÝA4 � � �" �B*ælÞ5LVPNÝA4�69äAäAHI4P��;G*ÝAMIHR4ZMIP*MRB*BQ4HI4=PQ4F�ì

��6>çAHI4 #�ì����K6>MI8�â!4PNÝ�Þ�F�B*Þ>æ®PQÝA4�=HS6>BQB$#&%(' %�)*%(+&, -7/&+�%�1�2(3�4 +(5�-76&8*8�9&2*:

)�ìEÜlæ&6>8;ò¨Þ�PNÝA4CL/4��;=4äAPQMRÞ�8¥Ýq69B/çq44C8¥PNÝALQÞ>G*8���PQÝA4 çq4CÝq6�à;MRÞ�@AL/Þ>æ�PNÝA4°@A8AFA4LQHIò�MI8AãÞ�äq4CLb6>PQMI8AãKBNò;BQPN4â�MIB&@A8AF�4Xëq8A4FÛì�Ü`8�æ<69=P�� PNÝA4/3;ê���Jðâf6�ò FA4C=MIFA4/PNÞKâ/@�PN4�PNÝA4=�6>LNF �kçAHIÞ;= � PQÝA4¯69äAäAHI4P��kÞ5LZäq4L æ~Þ5LQâ�698�ò°8�@�â/çq4LZÞ>æEÞ�äq4CLb6>PQMIÞ58AB�PNÞ!48ABQ@ALN4!PNÝA4æl@APN@ALQ4�BN4=@�LNMIP`ò Þ>æ�PNÝA4&69äAäAHI4P*Þ5L*PQÝA4�=76>LQFKMIPNBQ4Håæbì

; õ � �ïú>ý5��ý~þ�ÿK÷�ök÷;ø;÷¨ù�÷Aú5û�� % % �-�<�� % % �-� ������Cý~ÿ#þ �*ÝAMIBkBN4=CPNMIÞ58�MIBkMR8;PQ48AFA4F PNÞ*MIHIHR@�BNPNLX6>PQ4�PNÝA4g3�6�à56*ê*6>LQF�FA4à54CHRÞ�äAâ�4C8�PäALQÞ�=C4BNB G*MIPNÝ¥6°BNMIâ�äAHI4 �Q=Þ5@A8;PQ4L1�ß=76>LQF 69äAäAHI4P���G*ÝAMI=bݤBQPNÞ5LQ4Bf698 � �&:©à569HR@�4�PNÝ#6>P=7698¢ç#4&LN4�6>F��k6>8�FK=76>8°çq4�MI8A=LN4Câ�48;PN4CF¢6>8AF°FA4=LQ4â�48;PQ4F¢ç;òK6�ã5MIà�48¢6>â!Þ5@A8;P �SBQ44�ÛMIã5@ALQ4 % �Cì��*ÝA4 =Þ5@A8;PQ4L�MRB*MI8ABQPb69HRHI4F MI8 PNÝA4�=769LNFKç;ò�=�6>HIHIMR8�ã�PQÝA4&=Þ�8ABNPQLN@A=PQÞ5L&Þ9æ�PNÝA46>ä�äAHI4P���G*ÝAMI=XÝ/BN4PQB*PNÝA4Z=Þ5@A8;PQ4LEG*MIPQÝ�6>8/MI8AMIPNMS6>H;à569HR@�4*PNÞ �6>8AF/LQ4ã5MIBQPN4LQB*PNÝAMIBE69äAäAHI4PG*MIPNÝ&PQÝA4V3�ê���J �SPNÝ�4�6�� �äq6>LX6>â�4CPN4LÛÞ>æAPNÝA4*6>ä�äAHI4P � B$����� :�% 9&9Vâ!4PNÝAÞ;F�MIB�8AÞ�P�@ABQ4F.�Cì

� % % �-� � � % �;ú>÷��ý-�qþ �/÷�þ³û � #���� � �ZPQÝA4L&Þ�äq4LX6>PQMRÞ�8AB�69LN4/Ýq698AFAHI4F�ç�ò�PNÝ�4�6>ä;:äAHI4P � B 8&+�4�)�2����â!4PNÝ�Þ�F �AG*ÝAMI=XÝ¢F�4=Þ;FA4B&PQÝA4âÓG*MRPQÝKPNÝ�4MIL�69LNã�@Aâ�48;PQB�6>8AF�LN4PQ@ALN8�BLN4CBN@AHIPNB�6>==CÞ5LNF�MR8�ã/PNÞ/PNÝ�4 � � �" ïâ 6>äAäAMI8Aã�FA4CBN=LQMRç#4F�MI8���6>çAHI4 &�ì

� � % �-� � �;þ �7÷��ý+�#þ � �)��!���� % % �-�<����% �;ú>÷�7ý-�#þ2� �*ÝA4&BQÞ5@ALQ=4/=Þ;FA4�Þ>æ�PNÝ�4�FA4C=LN4X:â�4C8�PVÞ5ä#4LX6>PNMIÞ�8 � BN44 ��MIã�@ALN4 \�VMRHIHI@ABQPNLb69PN4B*G*Ý#6>PVÝq6>B*PQÞ/çq4�MIâ�äAHI4â!48;PN4F�PNÞ/LQ476>HIM��46/ä�LNÞ;=4BQBNMI8Aã�Þ�8 � � �" F#6>Pb6�ì��ÛMILNBQP�MIP*MIB*8A4=4BQBb69LNòKPQÞ�LN4CPNLNMI4à�4&PNÝ�4&MI8A=Þ5â!MI8Aã�F#6>Pb6æ~LQÞ5â PQÝA4 � � � îçA@&�k4L � HIMR8�4<�ì � B�Fq69Pb6�6>LQ4*MI8¯6Zç;ò;PN4�6>LQLb6�ò<��MRP�MIB�8A4C=4BNBX6>LQò/PNÞ�æ~Þ�L`:âf69PEPQÝA4âÑ6>==CÞ5LNF�MR8�ã5HIò�PQÞ/PNÝA4�P`ò;äq4 @ABN4F°G*MRPQÝAMI8�PQÝA4&3�6�à56�6>ä�äAHI4P��;MI8 Þ5@AL*4��µ69â�äAHI4C�

Page 7: Developing Smart Card-Based Applications Using Java Card

APDU AppletJCRE

Incoming

setIncoming

Idle

Init

End

Outgoing

Response APDU

Client

sendBytes

processes

ReceiveBytes

reads data

setOutgoing

process(apdu)

getBuffer

terminates

initializes

setOutgoingLength

Command APDU

command

��MIã#ì )Aì��;3�6�à56�ê*6>LQF � � �" �B*ä�LNÞ;=4BQBNMI8Aã�4Cà548;P�PQLb69=4�FAMS6>ã5LX6>â

698 � �&:/â/@ABQP�ç#4�LN4CPNLNMI4à�4FKMI8/PNÝ�4 %�ç;ò;PN4B*Þ9æ�PNÝA4�=Þ�â�âf698AF � � �" ñFq69Pb6 �SHIMI8A4B���PNÞ"<�ì��*ÝA48��#PQÝA4�ä�LNÞ;=4BQBNMI8AãK=7698Kç#4�ä#4L`ælÞ5LNâ!4FKG*MIPNÝ PQÝA4¯69äAäAHI4P � BZMI8ABNPX6>8A=4�à56>LQMS6>çAHI4B698AFKPNÝ�4�MI8A=Þ�â�MI8Aã&F#6>Pb6 �SHIMI8A4����<�ìI��Þ/BN48�F¢çq69=��KFq6>PX6�PNÞ!PNÝA4�Þ5@APQBNMIFA4�GEÞ�LNHIF���PNÝA4òâ/@ABQPEç#4�BNPQÞ5LN4CFKMI8�PNÝ�4 � � �" ïçA@ �²4L�6>B*ç;ò;PN4B)� HIMR8�4B�� /PNÞ����<�ì

Ülæ 6!äALQÞ5PNÞ;=Þ�H�4LNLQÞ5L&Þ;==@�LNB��Û6�BQPb698AFq6>LQFAM��4F�BNPX6>PN@�B&GEÞ�LNFK=�6>8�çq4�LN4PQ@ALN8�4F¨MI8¢6LQ4BNä#Þ58ABQ4 � � �" ç�ò PQÝALNÞ>G*MI8Aã�698 %�'�(�)!I)*2*8&:*� 4���G*MIPNÝ�6/=Þ�8ABNPX6>8;P�à569HR@�4&äALNÞ>à;MIFA4Fç;ò�PNÝA4�=HS6>BQB�%�'( �SHIMI8A4B¯698AF��<�ì&��Þ5LE698f6>ä�äAHIMR=�6>PNMIà�4*4LNLQÞ5L �Iæ~Þ�LE4��A69â�äAHI4C�5698�MIHIHI4ã�69H8A4Cã�6>PQMIà54�à569HR@�4C��HRMI8A4CB��� �6>8�F ��������PNÝ�4*FA4à54CHRÞ�äq4CL®=�6>8�LN4PQ@ALN8�6ZLN4CBNä#Þ58ABQ4 � � � ¤G*MIPNÝ6 BNä#4=Måëq=�BNPX6>PN@�B*GEÞ�LNF à56>HI@A4ZPNÞ/BNMIã�8q6>HkPQÝAMIB*4LNLQÞ5L�PQÞ�PQÝA4&=HIMI48;P�6>ä�äAHIMR=�6>PNMIÞ�8�ì

; õ�� �ïú>ý-��ý~þ�ÿK÷�ök÷;ø�÷ßù�÷Aú5û��Q��÷.�&�µûîù��~ý-�;þ���� % % �lý 9÷�7ý-�#þ

� B*GE4&Ý#6�à54�BN44C8KG*ÝAMIHI40F�4à54HIÞ�äAMI8Aã/PNÝA4�3;6�à56/ê*6>LNF��Q=Þ5@A8;PQ4L1� 6>äAäAHI4P��APQÝA4�=Þ5â!â/@;:8AMI=769PNMIÞ58!çq4CP`GE44C8¢6&=�6>LNF�6>äAäAHI4P*6>8�FfPQÝA4�Þ5@APQBNMIFA4�GVÞ5LNHIF MIBE4C8A=76>ä�BN@AHS6>PQ4FKMI8 � � �" Fq69Pb6 BNPQLN@A=PQ@ALN4CB7ì �*Ý�@�B��AG*LQMIPNMI8Aã/6�=HIMR4C8�P�69äAäAHIMI=76>PQMIÞ58/PNÝ#6>P�LQ@A8AB*G*MIPNÝK6�=769LNF¢69äAäAHI4P=Þ�8ABNMIBQPNB/MI8©FA4à�4HIÞ5äAMI8AãK=CÞ�F�4C��G*ÝAMI=XݨFA4769HIB�G*MIPNÝßPNÝA4!=Þ5â!âf698AF � � � ZB�6>==C4äAPN4CF698AF/PNÝA4*LQ4BNä#Þ58�BN4 � � �" �B�LQ4PN@ALQ8A4F ç;ò�PQÝA4�=�6>LNF 6>äAä�HR4CP�â�4PQÝAÞ;F 8&+�4�)*2���Aì � =CHRMI48;P

Page 8: Developing Smart Card-Based Applications Using Java Card

����������� �������������������������������� �!"#��$�%�&'�(�)��&���*�*)+���$�,���� �-�����,���*/.����&��� p0 ��1�2������3��,�� ����&�$�� �45 ��$�%�&'�(�/+���$�,�����627 p ����&�$��)8:9 �;��<1�(*����6�71� |= ��$�%�&'�(�)*����1�(�/���'�2�>��,�*����&�& 6�.�?�@�AB�����$C7 p ,��� +���$�,�����6271� |DE ��$�%�&'�(�/���'�2�)���������*�* 6�.�?@AB�����$C7 p�(9 %�F���� G�H)%�$������)8I�����$���<����J$��������6K71���� �2�L6M%�$�������G�NPOQ �RQ�S�STOU�V +�W.�HYXZ8:9-�.�.17�(! NPO�QU�-��������1�[��,����\���(�'N(� 6�NPOPQ ��O] +�W. ^�QV O�A�?�?�Q_�V�U�@�71��(" *�1�2����\�6M%�$����T� G�NPOQ ��QS�S�OU�V N(^�OH17 p�20 ����*�� 9-�9'�1`;a�ab?��������*c�\��b�����d��������1�(��,�(4 ����*�� 9-�9�! `;a�ab?��������*c�\��e��,���������,��f��������1�(��,�(5 ����*�� 9-�9�" `;a�ab?��������*c�\��b������������,��f��������1�(��,� = �������$�&��`gNPO�QU�-������T�1�(�h,����(\����'N2��6RNPO�Qi�RO] N(^�O ^�QV O�A�?�?�Q_�V�U�@17'��(D |�(E |!�9 |

�ÛMRã#ì[%qì��;3;6�à56�ê*69LNF j&4 ��&:�2(+�=HS69BNB*BNÞ�@ALN=C4�=Þ;FA4

� % �;ú>÷��ý-�qþ � #������� : + 2&%(, � � êVÞ5â!âf6>8�F �E6 6 �3k'klk'k �

�*4BQäqÞ�8ABN4��1m1n em1n �em1n �bm1n# "� ��� : � �I) +�2�1�2��&: � � �&:�� êVÞ5â!âf6>8�F �E6 6 ��ok'klk'k 6'p 6'p � 6'p � 6'p� �

�*4BQäqÞ�8ABN4��1m1n em1n �em1n �bm1n# "� ��� : , 2�) +�2�1�2��&: � � �&:�� êVÞ5â!âf6>8�F �E6 6 �ok'klk'k 6'p 6'p � 6'p � 6'p� �

�*4BQäqÞ�8ABN4��1m1n em1n �em1n �bm1n# "�

��6>çAHI4 &�ì�� � � �" �B�â 6>äAä�MR8�ã�ælÞ5L*PNÝ�4 �Q=Þ5@�8�PQ4L1�!Þ5ä#4Lb69PNMIÞ58�B

6>ä�äAHIMR=�6>PNMIÞ�8KMIB�6+æ~LNÞ�8�P :<4C8AFKælÞ5L&6!=76>LQF¨6>äAäAHI4P��kG*ÝAMI=XÝ¢â/@�BNP�ä#4L æ~Þ5LQâ�PQÝA4�æ~Þ�HRHIÞ>G*MI8AãPb69B �;B�G*Ý�48 =Þ5â!â/@A8AMI=76>PQMI8Aã�G*MRPQÝ�PQÝA4&=769LNFK6>äAä�HR4CP��q ��Þ�BN4CHR4C=P*PNÝA4Z=76>LQFf69äAäAHI4P�@ABQMI8Aã&MIPNB � Ü1��ì*�*ÝAMIB�BQ4HI4=PQMRÞ�8�MIB�ä#4L`ælÞ5LNâ!4F/ç;ò/BN48�F;:MI8Aã/6 � ��Jsr�J�ê.� � � � �/=Þ5â!âf698AF�ì

q ��Þ/äALQ4äq69LN4�=Þ5â!âf6>8�F � � �" �BZ=Þ5â!äAHIMS6>8;P�G*MIPNÝKPQÝA4&Þ�8A4B069==4ä�PN4F©ç;ò�PQÝA4/6>ä;:ä�HR4CP � BEâ!4PNÝ�Þ�F 8&+ 4�)*2���µì��*ÝA4�Fq69Pb6 BN48;P*G*MIPNÝ!PNÝA4�=Þ�â�â 6>8AF � � �" ï=76>8!çq4�LQ4X:PQLNMI4à�4F�æ~LNÞ�â à569LNMIÞ5@ABÛBNÞ�@ALN=4CB �l6>äAäAHIMI=769PNMIÞ58�Fq6>PX6��@ABQ4LEMI8;PN4CL`æ<69=4C�>Fq69Pb69çq6>BQ4C��BEA H��@�698AF©â/@ABQP0ç#4/=Þ�8�à�4LNPQ4F¨PQÞKâf69PN=XÝ�G*MRPQÝ¢PQÝA4/ælÞ5LNâ 6>PZFA4Xëq8A4CF©æ~Þ�L&PNÝA4 � � �" � B��%(:�%�% ��ëq4HIF/Þ>æ�ç;ò;PN4B �SBQ44 ��6>çAHI4 &Zæ~Þ�L�PNÝ�4*æ~Þ�LNâf69P�Þ9æ�Fq6>PX6�BN48;PVG*MIPNÝ �N=CÞ5@A8;PN4CL1�

Page 9: Developing Smart Card-Based Applications Using Java Card

� ����*�� 9-�9�" `ga�a ?��������* �\�� ������������,��)��������1�(��,! p" %�F����/%�F����_�����/8 6M%�F����'716R���T�$��R*����'N2,����h�C��,T<�.�,���_��������2��� 627P71�0 �2�Y6M%�F����_�����lXZ83017 NPO�QU�-��������1�(�h,����(\����'N[��6 NPO�Qi�RO] ]�_�Q^�� WU�^���V��171�5 ��,��d������$�,��b8L6M%�$�������G�N(O�Q ��QSS�OUV +�@�.�V�.�H�����!0'7��= 6M%�$�������G NPO�QC�RQ�S�S�O�U�V +�@�.�V�.��1�2H���'�[5'7�D 6M%�$�������G NPO�QC�RQ�S�S�O�U�V +�@�.�V�.���!H����D�7��E %�$�������G�N(O�Q ��QSS�OUV +�@�.�V�.���"H���(9 �2�Y6R������$�����9���� ����&�$��� �������$P,�����9'7��� NPO�QU�-��������1�(�2,��M�\����'N[��66R*�\���17(9�-�5�E��(9 71��(! ����&�$��� 83������$�,�����("#%�$�������GR9H8�6M%TF����'716M����&2$������!(017'��20 %�$�������G2�2H8�6M%TF����'716M����&2$�����'�[5'7'��(4#%�$�������GR!H8�6M%TF����'716M����&2$������D�71��(5#%�$�������GR"H8�6M%TF����'716M����&2$�� 71�� = �����$��R*����Qh$���<T�'� ,�<�.�,���OP��,���6�6�*�\����'7(9�� 6R*�\����172017'��(D |

�ÛMRã#ì Aì��AêVÞ�@A8;PN4L��QFA4=LQ4â�48;PN�/Þ5ä#4Lb69PNMIÞ58 BNÞ�@ALN=C4&=Þ;FA4

=Þ�â�â 6>8AF � � �" ZBQ�ìq ��Þ/@ABQ4�6�LN4769FA4L�FALQMRà�4L*HIMIçALb69LNò�PQÞ/BN48�FK=Þ5â!âf698AF � � �" ZB�PNÞ/PQÝA4&=769LNF¢69äAäAHI4P698AF PNÞ/ã54CP*çq6>=���LQ4BNä#Þ58�BN4 � � �" �B*ælLNÞ5â PNÝA4&=�6>LNFK69äAäAHI4P

q ��Þ�FA4=Þ;FA4�LN4CBNä#Þ58ABQ4 � � �" ZB�6>==Þ�LNFAMI8Aã�PNÞ�PNÝ�4�ælÞ5LNâ 6>P�Þ>æ�PNÝA4ZFq6>PX6&LQ4PN@�LN8A4F°MR8PQÝA4 � � �" ��%*:�%( �&:�ë#4HIF©Þ>æ*ç�ò;PQ4B � BN44 6>HIBNÞ ��6>ç�HR4 &fæ~Þ5L�PNÝ�4/æ~Þ�LNâf69P�Þ9æ Fq69Pb6LQ4PN@ALQ8A4F¥ç;ò�PNÝA4 �N=Þ�@A8;PN4LN�¢LQ4BNä#Þ58�BN4 � � �" �BQ�Cì �*ÝA4�=CHRMI48;P�69äAäAHIMI=76>PQMIÞ58©â/@ABQP69HRBQÞ�=XÝA4C= � Måæ®PQÝA4&BQPb6>PQ@AB�ç;ò;PN4CB*MR8 PQÝA4�LN4BQäqÞ�8ABN4 � � �" ïMI8AFAMI=769PN4&6>8!4LNLQÞ5L�ì�*ÝA4VÞ>à54LX6>HIH5F�4BNMIã58�Þ>æk6*3�6�à56Zê*6>LQF;:<ç#6>BN4CF¯69äAäAHIMI=76>PQMRÞ�8��SBQ44 �ÛMIã5@ALQ4 �C�ÛBNÝAÞ>G*BÛPNÝq69P

PQÝA4�âf6>MI8�Pb69B �;B*Þ>æ�çqÞ�PNÝ PNÝA4�=HIMI48;P*6>äAäAHIMI=769PNMIÞ58�698AF PNÝA4�=769LNFK6>äAä�HR4CP 69LN4�PNÞ/äALQÞ;=4BNB=Þ�â�â 6>8AF�6>8AF/LQ4BNä#Þ58ABQ4 � � �" �B�PQÞ04���=XÝq698Aã54ZMI8;æ~Þ5LQâf69PNMIÞ58�ì��*Ý�4*3�ê���J°MIB�PNÝ�4*âf6>MI8BQ4LNà�4L*äALNÞ;=4CBNB*PNÞ/6>=CPNMIà56>PQ4*PNÝA4Z=76>LQFf6>ä�äAHI4PEBQ4HI4=PQ4F�ìAÜ`P*6>HIBQÞ&äALNÞ>à;MIFA4BVPNÝ�4�MI8A=Þ�â�MI8Aã=Þ�â�â 6>8AF � � �" ZB/PNÞ©PNÝ�4f=�6>LNFð6>äAäAHI4P � B�â!4PNÝAÞ;F 8 +�4�)*2������6>8AF¤BQ48AFAB!çq6>=��¨PQÝA4Þ�@APNã�Þ5MI8Aã&LQ4BNä#Þ58ABQ4 � � �" �BZPNÞ�PNÝA4&=CHRMI48;P�69äAäAHIMI=76>PQMRÞ�8�ì

; õ�� � ��� �©÷Aú���Z4à�4HIÞ5äAMI8Aã©6K3;6�à56©ê*6>LQF;:<ç#6>BN4CF 69äAäAHIMI=76>PQMIÞ58¨LQ4?;@AMILN4B+ëqLNBQP�PQÞ¢MIâ�ä�HR4Câ�48;P�6°3�6�à56ê*69LNFf69äAäAHI4P*G*MIPNÝ!PNÝA4 3�6�à56�ê*6>LNF � ��Üì��*ÝA4&6>äAä�HR4CP*=Þ;FA4�MRB*4CBNBN4C8�PQMS6>HIHIò�6�=Þ;FA4�âf6�:8AMIäA@�Hy69PNMI8AãZ=76>LQF�=Þ�â�â/@A8AMI=769PNMåÞ58�äq6>=���4PNBVG*ÝAMI=XÝ�6>LN4 � � �" ñF#6>Pb6ZBQPNLN@�=PN@ALQ4B7ìI�*ÝA4C8��PQÝA4�3;6�à56/ê*6>LQF¢6>äAä�HR4CP0MIBZ=Þ5â!äAMIHR4CF�@ABQMR8�ãf6/LQ4ã5@�Hy69L�3�6�à56�=Þ�â�äAMIHI4L7ì��*ÝA4&Þ�@APNäA@�P0MIB=Þ�8;à54LQPN4F!MR8�Þ5LQFA4L�PQÞ&äALQÞ�F�@A=406Zç;ò;PN4Z=Þ;FA4C��G*ÝAMI=bÝ�=7698/BN@AMIPb69çAHIò&ç#4�FAÞ>G*8AHIÞ;6>FA4F�Þ586 3�6�à56�ê*6>LQF��A6>8AF LQ@A8 Þ58�PQÝA4&3;êVD �©ì � äAäAHI4P*=Þ�8�à�4LNBQMIÞ58K6>8AF MI8ABQPb6>HIHS6>PQMIÞ58�6>LQ4�8AÞ5PFAMIBQ=@ABNBQ4F¨MI8�PNÝAMIB�69LNPQMR=CHR4/ç#4=769@ABN4 PQÝA4ò©6>LN4/ò�4P&PQÞKçq4/BQPb698AFq6>LQFAM��4F���6>8�F©çq4=�6>@ABQ4

Page 10: Developing Smart Card-Based Applications Using Java Card

Client

select()

JCRE

decodes

Applet

commandprepares

APDU

responseAPDU

activates

"90 00" response APDU

Select "applet" APDU

Applet command APDUprocess(apdu)

processescodes response

terminatesApplet response APDU

decodes params

�ÛMRã#ì �Aì��;3;6�à56�ê*69LNF;:`çq6>BQ4F =HIMI48;P�6>äAäAHIMI=769PNMIÞ58/PQLb6>=C4&4à54C8�PZFAMS6>ã�Lb6>â

GV4&æ~Þ;=@�B0Ý�4LN4/Þ�8KPNÝA4�G*ÝAÞ�HR4 3�6�à56�ê*69LNF;:`çq69BN4F©6>äAä�HRMI=769PNMIÞ58 FA4Cà54HIÞ5ä�â�48;P*â�4CPNÝAÞ;F;:Þ5HIÞ�ã5ò�Lb6>PQÝA4L*PQÝq6>8 Þ58!PNÝA4�PQÞ�Þ�HIBEMIâ�ä�HRMI4FÛì��ÛMI8q69HRHIò<�>MIPEMIBV8A4=4CBNBb69LNò PNÞ�MIâ�äAHI4â!48;P�PNÝA4=HIMI48;P�äq69LNP�Þ9æqPNÝA4Z3�6�à56Zê*6>LNF�69äAäAHIMI=76>PQMIÞ58&PQÝq6>P�MIB�PNÝ�4*=Þ;FA4*LN4?;@A4CBNPNMI8Aã�Þ5ä#4LX6>PNMIÞ�8AB�PNÞPNÝ�4&3�6�à56�ê*6>LQF 69äAäAHI4P�ì&�*ÝAMIB*=Þ;FA4&=Þ�â�â/@A8AMI=769PN4BgG*MRPQÝ�PQÝA4&3�6�à56�ê*6>LQFK6>äAäAHI4P*G*MIPQÝ� � � Fq6>PX6�BNPQLN@A=PQ@ALN4CB&G*ÝAMI=XÝfâ/@�BNP*=Þ�8;æ~Þ5LQâáPNÞ!PNÝAÞ�BN4 �Q@A8AFA4CLNBNPQÞ;Þ�FX��ç;ò�PQÝA4&3�6�à56ê*6>LQFK6>äAäAHI4P*â!4PNÝ�Þ�F 8&+ 4�)*2���µì

� �¥ÖkÙEÖ��NÍ��ZØNÏ�Ë��¥Ö���� ��Ì�Ö�Ú;Ú;Í� Ç©È�Ú;Ö�Ð ����� �NØQÉkÈ�×AØQÍ�Ï�Ú

Ü`8/PNÝ�MRB�BQ4=PNMIÞ�8��56ZFA4à�4HIÞ5äAâ!48;P®â!4PNÝ�Þ�F�Þ5HIÞ5ã�ò��ÛMIB�FA4Xëq8�4F�MI8�Þ5LNF�4L�PNÞ�ÝA4CHRä�3�6�à56�äALNÞ9:ã5LX6>â!â�4LQBkPNÞ�MI8A=HI@AFA4*3;6�à56�ê*6>LQFAB�MI8;PNÞZPNÝA4*MI8;æ~Þ�LNâ 6>PNMIÞ�8�BNò;BQPN4â!B®PQÝA4ò�FA4à�4HIÞ5ä�ìE�*ÝAMIBâ�4CPNÝAÞ;FAÞ�HRÞ�ã5ò&MIB*çq69BN4F!Þ58!PNÝA4�FA4Xë#8AMIPNMIÞ58!Þ>æ³6 FAMIBNPQLNMIçA@APQ4F�Þ�ç5óX4=P*BQò;BNPN4Câ FA4CFAMI=76>PQ4FPNÞ/3;6�à56/ê*6>LQFfMI8!G*ÝAMI=bÝK6�=HIMI48;P�6>ä�äAHIMR=�6>PNMIÞ�8�6>==4CBNBN4CB�6�3�6�à56�ê*6>LQF 69äAäAHI4P*PQÝALNÞ�@Aã5Ý6>8 Þ�ç5óX4=P >@?�ACB D@F�G*H�B7ì�Ü`P*MIB*8AÞ5P�698 69HIPN4LQ8q6>PQMRà�4�PNÞ/PNÝ�4&3�6�à56�ê*6>LQFKBNä#4=Måëq=769PNMIÞ58 BQMR8�=4MIP*MIB*çA@AMIHIPEÞ>à�4L*MIP��A6>8�Ff6>HIHIÞ>G*BV3�6�à56�ê*6>LNFK69äAäAHI4PNB*PQÞ/Þ5ä#4Lb69PN4&G*MIPQÝ�ç#Þ5PNÝ â!Þ�F�4B7ì

� õSô ��ý[�&�7ú>ý-� �����µû � ����� � #�ú��#ÿqú>÷� �©ýlþ�ÿ���ý-��!¤ök÷;ø;÷¨ù�÷Aú5û3�6�à56�ê*6>LQF¥6>äAäAHI4PQBf69LN4 Þ5ç5óX4C=PNB!LN4BQMRF�MR8�ã©MR8¤6�FAM �²4CLN48;P/âf69=XÝAMI8A4 �l6�BNâf69LNP�=76>LQF.�æ~LQÞ5â PNÝA4�PN4LQâ�MI8q69H�6>äAäAHIMI=769PNMIÞ58�ì;Ü`8°3�6�à56/ê*6>LQF��APQ4LNâ!MI8q6>H�698AFK=769LNFKäALQÞ5ã�Lb6>â!BVæ~Þ5LQâ

§�e5mn^�W�UX�le�h>��h[nh�����mn^�e�UQcNUQm]�/cNUQ�yUQc`cNUX���5�&�le;U*��hcN�K·�sC�E¸³�qz~sX�Q�b�V^lm]��dXU�mn��e�a�^��AUXUN��¶5cN^`�mnW�Y�[nUXW0UQ�5�`UX�/m]���le;U�TVUXW�Y�[]\�^*TVUXW�gY5cNUX^`^`h&_ + � Y5cNh>�9\�dX�X¦

Page 11: Developing Smart Card-Based Applications Using Java Card

6�=CHRMI48;P :<BQ4LNà�4L*BNò;BNPQ4âáG*ÝA4CLN4�=Þ5â!â/@A8AMI=769PNMIÞ58�MIBEF�4Xëq8A4F ç;ò�4��;=bÝ#6>8Aã�4B*Þ>æ�HIÞ>GV:`HR4Cà54H=Þ�â�â/@A8�MR=�6>PNMåÞ58!äq6>=��54CPNB�� � � �" �B]�ì �Eò©6>ä�äAHIò�MI8Aã/F�MRBQPNLQMRç�@APN4F©ä�LNÞ5ã�Lb69â�â�MI8Aã�PN4C=bݵ:8AMI?;@A4B ! %���� 8#6>â�4CHRò<����4â�Þ�PN4 �³LNÞ;=4FA@�LN4fê*69HIH �C� ��ê"���¢6>8�F¢Þ�ç5óX4=P&â!4PNÝ�Þ�F�Þ5HIÞ5ã�òPQÞf3;6�à56 ê*6>LNF ����4â���äALQ4BNBQÞfä�LNÞ>à;MIFA4B�6!FA4à�4HIÞ5äAâ!48;P�â!4PNÝAÞ;FAÞ�HIÞ5ã5ò G*ÝAMI=XÝ©6>HIHIÞ>G*BFA4Cà54HIÞ5ä#4LQB�PNÞ/6>ç�BNPNLX6>=P*PQÝA4MIL*FA4BQMIã58K6>8AF =Þ;FA4Zæ~LQÞ5âá=CÞ5â�â/@�8AMI=76>PQMRÞ>8�äALQÞ5PNÞ;=Þ�Hk=Þ58µ:BQMRF�4Lb69PNMIÞ58AB�ì

� � � �7��� #�ú�����Aû ��ú��/ù�÷����lýlþ®ÿ Ü`8/=CHRMI48;P :<BQ4LNà�4L�äALQÞ5ã5LX6>â!â�MI8AãVâ�Þ;FA4H[�PQÝA4 �*4Câ�Þ5PQ4��LQÞ;=4FA@ALQ4¯ê*69HIH �C� ��ê"�Vâ!4=XÝq6>8AMIBQâáÝq6>B*ç#448°MR8;PQLNÞ;FA@A=4CFfMI8 Þ5LQFA4L*PQÞ�6>çABQPNLb69=P�PQÝA4=Þ�â�â/@A8�MR=�6>PNMåÞ58!MR8;PQ4L`æ<69=4�PNÞ�PQÝA4�HR4Cà54H�Þ9æE6�ä�LNÞ;=4FA@�LN4/=769HRH�!9# <��# ���Nì��*4C?�@�4BNP�â�4CB`:BX6>ã54CB�69LN4&LQ4ã�69LNFA4CF¨6>B�ä�LNÞ;=4FA@�LN4/=769HRHIB�æ~LNÞ�â(6/=769HRHI4L��SPQÝA4�=CHRMI48;P]���k6>8AF°LN4äAHIò â�4CB`:BX6>ã54CB�6>LN4�LQ4ã�69LNFA4F�6>LN4�LQ4PN@ALQ8Kà56>HI@A4CB�æ~LQÞ5âáPQÝA4�=76>HIHI44��SPQÝA4�BN4LQà54L]�ZG*ÝAMI=bÝ!4��;4=@APQ4BPQÝA4�äALQÞ;=4FA@ALQ4Kç#Þ�F�ò�ì rkM �54 6 LN4Cã5@AHS6>L�Þ5L�HIÞ;=76>HVäALNÞ;=4CFA@ALN4°=76>HIH[�®698 � ��ê MRB/6 BQò�8µ:=XÝALQÞ58AÞ�@AB*Þ5ä#4Lb69PNMIÞ58°LN4?;@AMILNMI8Aã/PQÝA4�LN4?;@A4CBNPNMI8Aã äALQÞ5ã�Lb6>â PNÞ/ç#4&BN@ABQäq4C8AFA4F©@A8;PQMRHkPQÝA4LQ4BN@AHIPQB/Þ>æ�PNÝ�4�LN4Câ�Þ5PQ4�äALQÞ;=4FA@ALQ4¢6>LQ4�LQ4PN@ALQ8A4F�ì �*ÝA4�MI8;PN4CLN4BQPNMI8Aã�æ~4769PN@ALQ4 Þ>æ$� �gêMIB&PQÝq6>P�MIP�MIB/6 äALNÞ�PNÞ;=Þ�H*PNÝq69P�Þ�8A4�äALQÞ5ã�Lb6>â =76>8ß@ABN4!PNÞ�LN4?;@A4BQPf6 BQ4LNà;MI=4 ælLNÞ5âè6äALQÞ5ã�Lb6>â HRÞ;=769PN4F¤MI8é698AÞ5PQÝA4L!=Þ5â!äA@APN4CL�G*MIPNÝ�Þ5@AP/Ýq6�à;MI8Aã�PNÞ�@A8AFA4CLNBNPX6>8AFî=Þ5â!â/@;:8AMI=769PNMIÞ58©F�4Pb69MRHIB�ì�Ü`8ABQPN4769F¤Þ>æ�GVÞ5L �;MI8AãKF�MRLQ4=PQHRòßG*MIPNÝ©=Þ�â�â/@A8AMI=769PNMIÞ58°äq6>=��54CPNB���PQÝA4äALQÞ5ã�Lb6>â!â�4L*Ý#6>B&PQÝA4�MIHIHI@ABNMIÞ58°Þ>æ�=769HRHIMI8Aã 6 HIÞ�=�6>H�äALQÞ;=4FA@ALQ4C��G*ÝA48ßMI8Kæ<69=P&PQÝA4f69L`:ã�@Aâ�48;PQB&Þ>æ�PNÝA4 =769HRH�69LN4 äq69= �569ã54Fß@Aä¥6>8AFßBNÝAMIäAä#4F¤Þ �ðPNÞ�PNÝA4 LN4Câ�Þ5PQ4�PX6>LNã�4P/Þ>æPQÝA4/=76>HIH`ì���48A4CLb6>HIHIò<� �"��êïBQò;BNPN4Câ�B&48�=Þ;FA4f69LNã5@�â�48;PNB�6>8AF©LQ4PN@�LN8©à56>HI@A4CB&@ABNMI8AãK6HS6>8�ã5@q69ã54X:`8A4@APQLb69H³698AF©âf69=XÝAMI8A4X:`MR8�FA4ä#48AFq698�P�Fq69Pb6!LN4CäALN4BQ48;Pb69PNMIÞ58�ìÛÜ`8©FAMIBNPQLNMIçA@APQ4FÞ�ç5óX4=P :<Þ�LNMI48;PN4F©BQò;BNPN4Câ�B�Þ�ç5óX4=P MR8;PQ4L`æ<69=4B&ä�LNÞ>à;MIFA4�6!â�47698ABVæ~Þ�L0=CHRMI48;P&6>8�FKBN4LQà54LPQÞ�6>ã5LQ44�Þ58 4��A6>=CPNHIò�G*ÝAMI=XÝ BN4LQà54L � B0â!4PNÝ�Þ�F�BE=7698Kç#40MI8;à5Þ(�54F PQÝALNÞ�@Aã5Ý � �gê�ìAJ�6>=XÝMI8;PN4L æ<6>=C4E=Þ�8;Pb6>MI8ABÛPNÝA4*F�4Xëq8AMIPNMIÞ�8ABkæ~Þ�L�PNÝA4Vâ�4PQÝAÞ;FAB®698AF&PQÝA4MIL�äq69Lb6>â!4PN4CLNB�4���ä�LN4BQBN4FMI8f698 Ü`8�PQ4L`æ`6>=4 �Z4Xë#8AMIPNMIÞ58)r�6>8�ã5@q69ã54 � Ü1� r��ì

í¥ÝA4C8 6�=CHRMI48;P*MI8;à5Þ(�54B*6�LN4â!Þ5PQ40â!4PNÝ�Þ�F �;PNÝA4�=769HRHkMIB*Ýq698AFAHI4F ç;òf6�=HIMI48;P*BNPQ@AçLQ@A8A8AMI8Aã�Þ58/PQÝA4�=HIMR4C8�PVÝAÞ�BNP)�SBQ44!�ÛMRã�@ALN4 �C�Cì*�*ÝA4�=HIMI48;PVBNPN@�çf=CÞ58;à54LQPNB*PQÝA4�â!4PNÝAÞ;F � Bäq69Lb69â�4PQ4LNB�MI8;PNÞf6¯æ~Þ5LQâÑBN@AMIPX6>çAHI4 æ~Þ5LZPNLb698ABNâ!MIBNBNMIÞ�8 �~6!äALQÞ�=C4BNB&=�6>HIHI4F � G*D ' ��G " >@?�698AF�=769@ABN4CB0Þ�8A4�Þ5L*â!Þ5LN4Z=Þ5â!â/@A8AMI=769PNMnÞ�8�ä#6>=��54PQB�PQÞ/çq4�BN4C8�PZPNÞ/PQÝA4�BN4LQà54L�ì � P*PQÝA4BQ4LNà�4L���6°BN4LQà54L/BQPN@Aç��&? � G*D ' ��G " '!PNÝA4!äq6>LX6>â�4CPN4LQB���äA@APQPNMI8AãKPQÝA4âèMI8©PQÝA4 =Þ5LQLN4=Pæ~Þ�LNâ 6>P�æ~Þ5LÛPNÝq69P�BNò;BQPN4â �76>8�F&MI8�à�Þ*��4B�PQÝA4ELQ4?;@A4BQPN4F/â!4PNÝAÞ;F�ì��*ÝA4�â!4PNÝAÞ;F&4���4C=@APN4CB��PQÝA48 BN48�FAB�6>8;ò/LN4CBN@AHIPNB*ç#6>=���à;MS6�PNÝ�40BX6>â!4*äq6>PQÝ��;PNÝq69P*MIB���PNÝALQÞ5@Aã�ÝfPQÝA4�BNPQ@AçAB7ì��Z8A=C4=Þ�â�äAHI4PQ4C�APQÝA4�=76>HIHI4FKâ!4PNÝAÞ;F LN4CPN@ALQ8AB�æ~LQÞ5âÑPNÝ�4&=HIMI48;P0BQPN@Aç°çq6>=��KPQÞ�MIPNBZ=76>HIHI4L�HIM �54698©Þ5LNF�MR8#6>LNò�â�4CPNÝAÞ;F�=76>HIH`ì��*ÝALQÞ5@Aã�ÝAÞ5@AP�PNÝ�MRB äALNÞ;=4BQB��gLN4â!Þ5PN4/=�6>HIHIB�6>LQ4/4â/çqÞ;FAMI4FMI8 � ��êîäALQÞ5PNÞ;=Þ�H � B*â!4BNBX6>ã�4B � =Þ58;Pb69MI8AMI8Aã�PQÝA4&â 6>LNBQÝq6>HI4F!äq6>LX6>â!4PN4LQB0698AF LN4BQ@AHIPNBQ�G*ÝAMI=XÝf69LN4&PQLb698ABNä#Þ5LQPN4FKÞ�8 PNÞ5ä!Þ>æ�=Þ�â�â/@A8AMI=769PNMIÞ>8�äALNÞ�PNÞ;=Þ5HIB�ì

êVLN4�6>PNMI8AãK6!FAMIBNPQLNMIçA@APQ4F¨6>ä�äAHIMR=�6>PNMIÞ�8KG*MIPNÝ � ��êg:`çq6>BQ4F©BNò;BQPN4â!B��kPQÝA48��kLQ4?;@AMILN4BBQäq4=CMnælò�MI8Aã/6>HIHkMI8;PN4LX6>=PQMIÞ58AB*ç#4P`GV448K=HIMI48;PNB�698AF�BQ4LNà�4LNB�MI8�Þ�8A4�Þ5LVâ�Þ�LN4�MI8;PN4CL`æ<69=4B7ì�*ÝA4CBN4 MI8�PQ4L`æ`6>=4B�69LN4!@ABN4F¤PQÞKäALNÞ;FA@�=4 BNPN@�çAB��gG*ÝAMI=bÝ©MI8ßPN@ALQ8é6>LQ4�=Þ�â/çAMI8A4F©G*MIPNÝPQÝA4�6>=PQ@q6>Hk6>ä�äAHIMR=�6>PNMIÞ�8&=Þ;FA45ì�í¥Ýq69PN4à�4L�PNÝ�4�FAMIBNPQLNMIçA@APQ4F�6>ä�äAHIMR=�6>PNMIÞ�8�MIB�FAÞ5MI8Aã7�*� �gêLQ@A8;PNMIâ�4�LNÞ�@APNMI8A4CB&äALNÞ>à;MIFA4/6�æ~Þ�@A8AFq69PNMIÞ58 æ~Þ5LZMR8;PQ4Lb69=PNMIÞ58�ç#4P`GE4C48©MIPNB�=Þ5â!äqÞ�8A48;PNB�ì�*ÝA4CLN4Xæ~Þ�LN4C� � ��êg:`çq6>BQ4F�BNò;BNPQ4â�BZâf6 ��4�PNÝA4�FA4à�4HIÞ5ä#4L � B&GVÞ5L �f4�6>BNMI4L�ç;ò ÝAMIFAMI8Aã�PQÝA4=@�â/çq4LQBNÞ�â�4�PX6>B ��Þ>æ�=Þ5â!â/@A8AMI=769PNMIÞ>8�â 6>8q69ã54â!48;P�PNÝ#6>8��;B*PNÞ �q �*ÝA4Z=Þ5â!äA@APQ4F/ã548�4Lb69PNMIÞ58!Þ>æk=HIMR4C8�P*6>8�F/BN4LQà54L*BQPN@AçABgæ~LQÞ5â�PNÝA4ZMI8�PQ4L`æ`6>=45ì ��48;:

Page 12: Developing Smart Card-Based Applications Using Java Card

Client machine

Receiverequest

Server stub

Selectmethod

Methodimplem.

Unmarshal

Receivereply

results

Dispatcher

Localreturn

Localcall Marshal

parameters

Sendrequest

moduleComm.

moduleComm.

Marshalresults

Executemethod

Return

parametersUnmarshal

Client stubClient

Server machine

Sendreply

RPC reply

RPC request

Com

mun

icat

ion

Pro

toco

l

�ÛMRã#ì �Aì��&�Vò;äAMI=76>H�"��ê¤â�Þ;FA@�HR4CB

4CLb6>PQ4FK=Þ;FA4CB06>LQ4�BNä#4=Måëq=�PNÞ�PNÝA4&=CHRMI48;P�698AF�BQ4LNà�4L�Hy698Aã5@#6>ã54CB 698AF äAHS6>P`ælÞ5LNâ!B7ìq �*Ý�4�MI8�PQ4ã5LX6>PQMRÞ�8�MR8�=HIMI48;P�6>8�F&BN4LQà54L�â 6>=XÝAMI8A4B#Þ>æ�� �gêKLQ@A8;PNMIâ�4�HIMIçALb69LNMI4B��XG*Ý�MR=XÝÝ#6>8AFAHI4BgPNÝA4*=Þ�â�â/@A8�MR=�6>PNMIÞ�8 � PNLX6>8ABQâ�MIPNPQMRÞ�8�6>8�F/LN4=4CäAPNMIÞ58/Þ9æ � ��ê LN4?;@A4CBNP*6>8AFLQ4äAHIò�â!4BNBX6>ã�4BQ�*698AF PNÝA4�çAMI8AFAMI8Aã�Þ>æ�=HIMI48;P�6>8AF BN4CLNà54CL7ì

ök÷;ø;÷ ù�÷Aú5û � % % �5�<����÷.� � �<� �.��� � ��������� �*ÝA4¢F�4à54HIÞ�äAâ�48;P/â!4PNÝAÞ;FAÞ�HIÞ5ã5òäALQÞ5â�Þ�PN4F�ç;ò ��4â���äALQ4BNBQÞ 4��;PN48AF�B�PQÝA4/3�6�à56!ê*6>LNF�=Þ�8A=4äAP �~6!=769LNF©PQÝq6>P�=7698©çq4äALQÞ5ã5LX6>â!â�4F&MI8�PNÝA4ZÞ5ç5óX4C=P`:`Þ5LQMR4C8�PQ4F�3;6�à56�HS6>8Aã�@q6>ã�4��ÛPNÞ�6ZFAMIBQPNLNMIçA@�PN4F!Þ5ç5óX4=CP`:`çq6>BQ4FBNò;BQPN4â�G*ÝA4CLN4K=Þ�â�â/@A8�MR=�6>PNMIÞ�8¢ç#4P`GV448ð=76>LQF 69äAäAHI4PQB�6>8AF¤=HIMI48;P�6>äAä�HRMI=769PNMIÞ58�B�MIB6>ç�BNPNLX6>=PQ4Fßæ~LNÞ�âÑHIÞ>GV:<HI4à�4H�äALQÞ5PNÞ;=Þ�HIB7ì��*ÝA4/â 6>MI8K=XÝq69Lb6>=CPN4LQMRBQPNMI=B�Þ>æ�PQÝAMIB�69äAäALQÞ�6>=XÝMIB&PNÝ#6>P&MIP&LQ4HIMR4CB&Þ58¨698 �"��êg:<ç#6>BN4CF©BNò;BNPQ4âèFA4F�MR=�6>PN4CF¨PNÞ°BNâf69LNP�=769LNFAB�ì � ��4â ��:äALQ4BNBQÞK=76>LQF¢6>ä�äAHI4P�MIB06+BN4LQà54L Þ5ç5óX4=CP��#G*ÝAMI=XÝ¢MIB�F�4à54HIÞ�äAäq4CFKG*MIPNÝAÞ�@AP0698�ò =Þ�8A=4LQ86>ç#Þ5@�P�=Þ�â�â/@A8�Mn=769PNMIÞ58 äALQÞ5PNÞ;=Þ�HIB��ÛMRPVóX@ABNP�Ýq69B&PNÞKç#4�F�4Xëq8A4F¤ç;ò©6 3�6�à56!MI8;PN4L æ<6>=4�ì��Þ5L�PQÝA4�=HIMR4C8�P�6>äAä�HRMI=769PNMIÞ58 �;=76>LQF¢6>äAä�HR4CPNB&6>LQ4&HIM<��4�LN4â!Þ5PN4 Þ5ç5óX4=CPNB�MI8¢6/FAMIBQPNLNMIçA@�PN4FBNò;BQPN4â �;MRPVMI8;à5Þ*��4B*6>äAäAHI4PVâ�4CPNÝAÞ;FABVPNÝALQÞ5@Aã�ÝK6&=HIMI48;PVBNPN@�çfÝ#6>8AFAHIMI8Aã�PNÝA4�=Þ�â�â/@A8�M]:=769PNMIÞ58©MI8;PN4L æ<6>=C45ì���4â���äALQ4BNBQÞKMIB&çA@AMIHIP�Þ58�PNÝA4�ælÞ5HIHIÞ>G*MR8�ã�æ<6>=MIHIMIPNMI4B�G*ÝAMI=XÝ¢BQ@AäAä#Þ5LQPPNÝ�4&MI8;æ~Lb69BNPQLN@A=PQ@ALN4�æ~Þ5L*çA@�MRHIFAMI8Aã BN@A=XÝKFAMIBQPNLNMIçA@�PN4FK6>ä�äAHIMR=�6>PNMIÞ�8AB � BN44 ��MIã�@ALN4��C� �

Page 13: Developing Smart Card-Based Applications Using Java Card

parametersUnmarshal

results

Com

mun

icat

ion

prot

ocol

Marshal

JCRE

Rea

der/

Car

d

Terminal application

Unmarshal

Receivereply

resultsLocalreturn

Localcall Marshal

parameters

Sendrequest

Client Applet proxy Reader/CardAPI

DMI request

DMI reply

Receiverequest

moduleComm.

Local call

Card applet

Local return

replySend

GemXpresso card

�ÛMIãqì ��ì � ��4â �ZäALN4BQBNÞ���� ÜVâ�Þ;FA@AHI4B

q � =769LNF¤6>äAäAHI4P/â/@�BNP&ç#4 FA4Xëq8A4CFéç;ò¨6°3�6�à56°MI8�PQ4L`æ`6>=45ì � 8¤MR8;PQ4L`æ<69=4 BNä#4=Måëq4BPQÝA4&â�4CPNÝAÞ;FAB*äALQÞ>à;MRF�4F ç�ò 6/=769LNFK6>ä�äAHI4P�PQÝq6>P�69LN4&à;MIBNMIçAHI4�PNÞ/PQÝA4&=769LNF¢69äAäAHI4P � B=HIMI48;PNB�ì

q �*ÝA4�=769LNFK6>ä�äAHI4PEMI8;PN4CL`æ<69=4�FA4Xëq8AMIPQMRÞ�8�MIBV@ABN4FK69B�6&çq69BNMIBVÞ58�G*Ý�MR=XÝ PNÞ�=Þ�8ABNPQLN@A=PPQÝA4�=HIMI48;P�BNPN@�ç¨Þ>æ�PQÝA4�=CHRMI48;P �S=769HIHR4CF 8 +�4�! � �&6>8AF©PQÞ¢ä�LNÞ>à;MIFA4�6>äAä�HR4CP�FA4CBN=LQMRäµ:PQMRÞ�8 PNÞ/PNÝ�4&3�ê��ZJ*ì&�*ÝA4&äALQÞ>à;MRF�4F MR8µæ~Þ5LQâf6>PQMIÞ58�G*MRHIHkç#4&@ABQ4FKç;ò�PQÝA4&äALQÞ ��ò 6>8AFPQÝA4�3;ê���J � BNÞ�â�4��;MI8AFAB�Þ>æ�=HIMI48;P�6>8�F¨BN4CLNà54CL/BNPN@�çABQ� æ~Þ�L&PNÝ�4�âf69LNBQÝq6>HIMI8AãK6>8AF@A8�âf6>LQBNÝq69HIMR8�ã&äALNÞ;=4CBNBN4CB0Þ9æ�PNÝA4�â�4CPNÝAÞ;F�MI8;à5Þ;=769PNMIÞ58�B7ì

q � 8 � ��êg:`HIM �54�=CÞ5â�â/@�8AMI=76>PQMRÞ>8*ä�LNÞ5PQÞ;=Þ5H[�X=769HRHI4F)�ZMILN4=CP � 4PQÝAÞ;F&Ü`8;à5Þ;=769PNMIÞ58��5��� Ü1���MIB�@ABQ4F/ælÞ5L�PQLb6>8�BNä#Þ5LNPQMI8Aã�â!4PNÝ�Þ�F�=769HRHIBE698AF/LN4CPN@ALQ8fLQ4BN@�HRPQB 69B�LN4C?�@�4BNP�698AF/LN4ä�HRòâ!4BNBX6>ã54CB*4��;=bÝ#6>8Aã�4FKç#4P`GE4C48KPNÝ�4&PN4LQâ�MI8q69H²69äAäAHIMI=76>PQMRÞ�8�6>8AF PQÝA4�BNâf69LNPV=76>LQF�ì

�*ÝA4�æ~Þ�HIHRÞ>G*MI8Aã!BN4=CPNMIÞ58AB�BNÝ�Þ>G$PQÝA4 ��4â���äALQ4BNBQÞKFA4à�4HIÞ5äAâ!48;P�â�4PQÝAÞ;FAÞ5HIÞ5ã�ò MR869=PNMIÞ58 �5@ABQMI8Aã�PQÝA4��XêVÞ5@A8;PQ4L1��=76>LQFK6>äAäAHI4P�ì*�*Ý�40=�6>LNF 6>äAä�HR4CPEFA4CBNMIã58K6>8�F/MRâ!äAHI4â�4C8;:PX6>PNMIÞ�8/MRBgFA4BN=CLNMIçq4CFfMI8!BN4=PQMIÞ58$)�ì &Aì*�;4C=PNMIÞ58')Aì )ZFA4BQ=LNMIç#4B�ÝAÞ>G¤PQÞ�@ABQ4�PQÝA4�ã�48A4LX6>PN4CF69äAäAHI4PVäALNÞ �;ò�PQÞ/çA@AMIHIFf6 =HIMI48;P�6>äAäAHIMI=769PNMIÞ58�ì

Page 14: Developing Smart Card-Based Applications Using Java Card

� õ<; �ïú>ý5��ý~þ�ÿK÷����<��� %�ú������� � % % �-� �ù�÷Aú5û � % % �-�<� � ��Cý~ÿ#þ �*ÝA4�ëqLQBNP�BQPN4ä�MI8 =LN4769PNMI8Aã 6 ��4â���äALQ4BNBQÞ�=769LNF¢69äAäAHI4P*MIBPNÞ FA4xëq8A4/6>8�MR8;PQ4L`æ<69=4�FA4BN=CLNMIçAMI8Aã PNÝA4�â�4CPNÝAÞ;FABZPNÝq69P�69LN4�6�à569MIHy69çAHI4�LN4â!Þ5PN4CHRò;ì&�*ÝAMIBMI8;PN4L æ<6>=4�FA4xëq8A4B*PQÝA4�48;PNLNò!äqÞ�MI8�PQB�ælÞ5L�PQÝA4�=76>LQFf6>ä�äAHI4PEG*MIPQÝf6 HRMIBQP�Þ>æ�â�4PQÝAÞ;FAB�PNÝ#6>PG*MIHIHEç#4f6�à569MRHS69çAHI4�PQÞ¢=HIMI48;P�äALNÞ�ã5Lb69â�PNÝALQÞ5@Aã�Ý ��� Üì���Þ5L&4��A69â�äAHI4C�kPQÝA4 %�j 4 ��&:�2*+MI8;PN4L æ<6>=4 �SBQ44��ÛMIã5@ALQ4 �C�*F�4Xëq8A4B PNÝALQ44�â!4PNÝ�Þ�F�B�G*MIPNÝKPQÝA4MIL�ä#6>Lb69â�4PQ4L0698AFKLQ4PN@ALQ8P`ò;äq4CB���6>8�F©PNÝA4!4��;=4äAPQMRÞ�8AB�PNÝA4ò©â 6�ò PNÝALQÞ>G&ì�*ÝAÞ�BN4�69LN4�â!4PNÝ�Þ�F�BNMIã�8q6>PQ@ALN4B�PNÝ#6>PG*MIHIHkçq4�@ABQ4FKç;ò���� ÜEPQÞ/âf69LNBNÝ#6>Hk6>8AF!@A8Aâf69LNBQÝq6>H#â�4PQÝAÞ;F�MI8;à5Þ;=769PNMIÞ58ABgæ~LQÞ5âá=HIMI48;P6>ä�äAHIMR=�6>PNMIÞ�8AB�PNÞ PNÝA4!MIâ�äAHI4â/48;PX6>PNMIÞ�8fÞ9æ %�j&4 ��&: 2(+kì � B�6 =769LNF¨69äAäAHI4P�MI8�PQ4L`æ`6>=4/MIB@ABQ4F�PQÞ&FA4BQ=LNMIç#4�G*Ýq69P�MIB�Ýq6>8�FAHI4F�ç;ò�PNÝA4 ��� Ü�äALQÞ5PQÞ�=CÞ5H[�>PNÝ�4 � � Ü � Bg=bÝ#6>Lb69=PN4CLNMIBNPQMR=CBMIâ�äq69=P�Þ58/G*Ýq69P�=7698/çq4ZFA4BN=CLNMIçq4CFfMI8/PQÝA4�6>äAä�HR4CP�MI8�PQ4L`æ`6>=45ìAêV@�LNLN4C8�PVHIMIâ�MIPb69PNMIÞ>8AB®69LN4Þ5@�PNHIMI8A4F çq4CHRÞ>G �

� ���������B��������������������������(����� �!" ��$�%�&'�(�d��,������������bN(+���$�,���� p0 ��$�%�&'�(�d��,��3������6271�4 ��$�%�&'�(�d��,��o��,���������,���62�R,��)������$�,��17 �\�����* A�*���U�-��������'�(��, �5 ��$�%�&'�(�d��,��3������������,���62�R,��)������$�,��17 �\�����* A�*���U�-��������'�(��, �= |

��MIã#ì �Aì�� ��4â���äALQ4BNBQÞ�%�j 4 ��&:�2*+�MI8;PN4L æ<6>=4�BQÞ5@ALQ=4�=CÞ�F�4

q ��69Lb6>â!4PN4CL®6>8�F�LQ4PN@ALQ8�P`ò;ä#4B�� � � :�27� � 4&4&9&2&%���������4(+ :���� �&:��>6>8AF @A8AMIFAMIâ�48�BNMIÞ58q69H69LNLX6�ò�B�Þ9æEPNÝA4/ä�LN4à;MIÞ5@AB�çq69BNMI=�P`ò�ä#4B�� '�4��E, MIB&6�à56>MIHS6>çAHI4Zæ~Þ5LZâ�4PQÝAÞ;FAB�G*ÝAMI=XÝ¢FAÞ8�Þ5P*LN4CPN@ALQ8¢6&LQ4BN@�HRP]�ì

q J ��=C4äAPNMIÞ�8fP`ò;ä#4B��#PQÝAÞ5BQ40F�4Xëq8A4F°MR8 PQÝA4�3�6�à56�ê*6>LNF BQäq4=CMnë#=76>PQMRÞ�8�ì

ù�÷Aú5û � % % �-� � � � % �-�<� ��þ �7÷X�7ý+�#þ Ü`8&3;6�à56Eê*69LNF�PNÝA4.# %('�%�)*%*+&,.-7/&+ %�1�2(3�4*+(5�- 6&8&8�9*2(:=HS6>BQB�MIB�PNÝ�4*çq6>BQMR=V=HS6>BQB�G*ÝAMI=XÝ/â/@ABNPÛçq4*4���PQ48AFA4CF�ç;ò¯6Z=769LNF�69äAäAHI4P�PNÞ&MIâ!äAHI4â/48;PkMIPNBäALQÞ�=C4BNBQMR8�ã¢Þ9æ � � �" �B&6>8AF©MIPQB0MI8;PN4CLb6>=CPNMIÞ58AB G*MRPQÝ¢PQÝA4�3�ê���J�ìkÜ`8 ��4â���äALQ4BNBQÞ.��698MI8;PN4L æ<6>=4/MIBZ@ABN4F©PQÞ�LQ4äALN4CBN48;P�PNÝA4�=Þ58;PQLb6>=CP&G*ÝAMI=XÝKçAMI8AFAB&6>8©6>ä�äAHI4P�PQÞfMIPQB�=HIMI48;PNB�ì�*Ý;@AB���6°=769LNFé69äAäAHI4P�â/@ABNP çq4!FA4=HS6>LQ4F¥6>B/6>8ßMRâ!äAHI4â/48;Pb69PNMIÞ58°Þ>æ�PNÝ�MRB�MI8;PN4L æ<6>=4�ì�*ÝA4/äALQÞ;=4BNBQMI8Aã Þ>æ � � �" �B�698AFKPNÝ�4�MI8;PN4LX6>=PQMIÞ58AB�G*MIPNÝ�PNÝA4�3�ê��ZJ¥F�Þ�8AÞ�P08�44F�PNÞç#404���ä�HRMI=MIPVBNMI8A=4ZPNÝA4Còf6>LQ4�PX6 �54C8fMI8/=XÝq69LNã54�ç;ò/PNÝ�4 ��� Ü�â!4=XÝq6>8AMIBQâ$ä�LNÞ>à;MIFA4F�G*MIPQÝPNÝ�4/3�ê���J�ì � Þ5LQ4Þ>à54CL�����4Câ ��ä�LN4BQBNÞ =76>LQF¡69äAäAHI4PQB0F�Þf8�Þ5P�Ýq6�à54�PNÞ!MIâ�äAHI4â!48;P*PNÝA4â�4CPNÝAÞ;F � ��� :�%&9 97�#PNÝ�4/MR8;à�Þ�=�6>PNMIÞ�8¢Þ9æ Þ�8A4/Þ>æ*PNÝA4/=CÞ58ABQPNLN@�=PNÞ�LNB/MIB�BN@���=MI48;P æ~Þ5L�MI8;:BNPX6>8;PNMS69PNMI8AãK6>8AF©MI8ABQPb69HRHIMI8Aã!PNÝA4�69äAäAHI4P&Þ�ç5óX4=P�MI8¢PQÝA4/=76>LQF�ì �*ÝA4BN4+æ~4769PN@ALQ4B�4C8q6>çAHI4PNÝ�4*äALNÞ�ã5Lb69â�â!4L�PQÞ0MIâ!äAHI4â�48;Pk6>8�69äAäAHI4P�HIM<��4 698�Þ�LNFAMI8q69LNò&3;6�à56*=HS69BNB�G*MIPNÝ�Þ5@AP�=Þ�8;:BNMIFA4CLb6>PQMIÞ58AB�69çqÞ�@AP�PQÝA4/=Þ�â�â/@A8AMI=769PNMIÞ>8�Þ9æEFq69Pb6!çq4CP`GE44C8©PNÝA4/=769LNF©6>äAä�HR4CP�698AF�PNÝA4=HIMI48;P�6>äAä�HRMI=769PNMIÞ58�B � BN44 �ÛMIã5@�LN4 #��C�Cì

Page 15: Developing Smart Card-Based Applications Using Java Card

� ��������� ����������������P��h������� �R�i�!" ��$�%�&'�(�)��&���*�*)+���$�,���� �-�����,���*/.����&���I������&�������,���*bN(+���$�,���� p0 ��1�2������d��,��3����&�$�� �45 ��$�%�&'�(�)+���$�,�����627 p ����&�$��/8>9 � ��<1�(*����6271� |=D ��$�%�&'�(�:��,�� ������627 p ���$�,3����&�$�� � |E�(9 ��$�%�&'�(�:��,�� ������������,���6���,��f������$�,��17 �\�����* A�*���U�-����������(�h, p��� �2�L6R������$�,�����9 ��� ����&�$��� ������h$�,�� ��9 7 �\����/,��� A�*���U�-��������1�(�2,�66R*�\��P�17��71��(! ����&�$��� 8I������$�,���� ���$�,d����&�$�� ��(" |�20�(4 ��$�%�&'�(�:��,��>��,���������,���6���,��f������$�,��17 �\�����* A�*���U�-����������(�h, p�(5 �2�L6R������$�,�����9 7 �\���� ,���bA�*���U�-��������1�(�2,�66R*�\���17��71�� = ����&�$�� ��8I������$�,���� ���$�,d����&�$�� ��(D |�(E |

�ÛMIãqì�#��Aì�� ��4â �ZäALN4CBNBNÞ j&4 ��&: 2(+�=HS6>BQB*BNÞ5@�LN=4�=Þ;FA4

Ü`8¤Þ5LQFA4L�PQÞ �544Cäñ6>8¤@Aä;G*6>LNF¤=Þ�â�äq69PNMIçAMIHIMnP`òKG*MIPQÝé3;6�à56©ê*6>LQF 6 ��4â �ZäALN4BQBNÞ=769LNF¥6>ä�äAHI4P�6>HIBNÞ©4���PQ48AFAB!PNÝA4°=HS6>BNB�6&8&8�9&2*:kì �*ÝA4 â!4PNÝAÞ;FAB/Þ9æ 6&8&8�9&2*: ��44ä¥PQÝA4BX6>â�4 BN4â 6>8;PNMI=B�6>8AFK=�6>8�çq4/Þ>à�4LNLQMRF�48¢PQÞ�GVÞ5L �KG*MIPNÝKPQÝA4/3�ê��ZJ¥HIM �54&6>8�Þ5LQFAMI8q6>LQò3;6�à56�ê*69LNFK6>äAä�HR4CP7ì

� õ � �ïú>ý-��ý~þ�ÿK÷����<��� %�ú�����&� �Q��÷.�&�µû � % % �lý[>÷��ý+�#þí¥MIPQÝ ��4â���äALQ4BNBQÞ�6Z3;6�à560ê*69LNF�äALNÞ �;ò&MIB�ã54C8A4Lb69PN4F�ælLNÞ5âïPQÝA4*=769LNF�6>ä�äAHI4P�MR8;PQ4L`æ<69=4ç;ò�PQÝA4�FA4Cà54HIÞ5ä�â�48;Pk48;à;MILNÞ58�â�48;P �S=�6>HIHI4F ��4â �ZäALN4CBNBNÞ � � � �Cì��*ÝA4�äALQÞ �;ò0MIB�6�äAMI4=4Þ9æE=Þ;FA4�PNÝq69P�Pb6��54B�MI8K=XÝq69LNã54�PNÝ�4�=Þ�â�â/@A8�MR=�6>PNMIÞ�8�ç#4P`GE4C48¢PQÝA4�=HIMR4C8�P&69äAäAHIMI=76>PQMRÞ�8698AF¤PNÝA4K=�6>LNF¥69äAäAHI4P7ì �*ÝAMIB/FA4BQMRã�8¤äq6>PQPN4LQ8 ! &���MRB/PQÝA4 æ~Þ�@A8AFq69PNMIÞ58ßÞ>æ!� ��êg:`çq6>BQ4FFAMIBQPNLNMIçA@�PN4F©BQò�BQPN4â MR8©G*Ý�MR=XÝ©PQÝA4�=HIMI48;P&MI8;à5Þ(�54B�â�4CPNÝAÞ;FAB&Þ�8¨6 HIÞ;=76>H�Þ�ç5óX4=P �SPQÝA4��D ����� ����G*ÝAMI=bÝ!LN4ä�LN4BQ48;PNB�PNÝA4�Þ�LNMIã5MI8q69HAÞ5ç5óX4C=P)�SPQÝA4�=76>LQF 69äAäAHI4P]��Þ�8�PNÝ�40=CHRMI48;P :<BQMRF�45ì�*ÝA4ZäALNÞ �;ò�MIBE@ABQ4F�ç;ò/PQÝA4�=HIMI48;PVHRM ��4*PNÝA4ZÞ5LNMIã�MR8#6>Hq69äAäAHI4PVBNMI8A=4ZçqÞ�PNÝ�PQÝA4�ä�LNÞ �;ò�6>8AFPQÝA4&6>äAäAHI4P�69LN4�MIâ�äAHI4â!48;Pb69PNMIÞ58AB�Þ9æ®PNÝ�4&Bb69â�4�MI8;PN4CL`æ<69=4��SBN4C4 �ÛMRã�@ALN4�#C#��ì

�*ÝA4�äALNÞ �;òKä�LNÞ;=4BQBN4B�476>=XÝ©â!4PNÝAÞ;FKMI8;à5Þ;=769PNMIÞ58 Þ�8¢PQÝA4¯69äAäAHI4P�MI8;PN4L æ<6>=4/MI8KPQÝA4æ~Þ�HIHRÞ>G*MI8Aã�G*6�ò �#5ìVÜ`P&ä�LN4äq69LN4B�6 � � Ü0MI8;à5Þ(�54�â�4BQBb69ã54/G*MIPNÝ�PNÝA4!äq6>LX6>â!4PN4L à56>HI@A4B&ä�LNÞ>à;MIFA4F©ç;òPQÝA4&=HIMI48;P7ì

&AìVÜ`P�BN4C8AFAB�PNÝAMIB�â�4CBNBb69ã54&PQÞ�PQÝA4 ��4â �ZäALN4BQBNÞ!=76>LQF��kG*ÝAMI=XÝKFA4=CÞ�F�4B&PNÝ�4�â!4BNBX6>ã54PQÞ¢MI8;à5Þ(�54/HIÞ;=76>HIHIò¢PQÝA4�â!4PNÝ�Þ�F©Þ�8¨PQÝA4 =76>LQFé6>ä�äAHI4P7ì �*ÝA4!LN4PQ@ALN8¤à569HR@�4�Þ>æ�PQÝA4

Page 16: Developing Smart Card-Based Applications Using Java Card

method1 (...) : ...method2 (...) : ...

method1 (...) : ...method2 (...) : ...

Proxy

Client

task()

communicates

extends

attributes...

method1 (...) : ...method2 (...) : ...

Original

AbstractOriginal

invokes

�ÛMRã#ì�#C#�ì�� ��4Câ ��ä�LN4BQBNÞ/=HIMI48;P�6>äAä�HRMI=769PNMIÞ58/F�4BNMIã58

â!4PNÝ�Þ�F!MIB*LN4PQ@ALN8A4CFKPNÞ/PQÝA4&äALQÞ ��ò�69B�6���� Ü�LN4CBNä#Þ58ABQ4�â!4BNBX6>ã54�ì)�ìEÜ`PZFA4=Þ;FA4CB0PQÝA4&LQ4BNä#Þ58ABQ4�â!4BNBX6>ã�4�6>8AF LQ4PN@ALQ8AB�PNÝA4�6>äAäAHI4PZLN4PQ@ALN8°à56>HI@A4�PNÞ!PNÝA4=CHRMI48;P*HIM �54�6�HRÞ;=769HkLN4PQ@ALN8°=76>HIH`ì� ��LNÞ�âáPNÝA4 =HIMR4C8�P�69äAäAHIMI=76>PQMIÞ58�ä#Þ5MI8;P*Þ>æ�à;MI4GðPNÝA4&=CÞ�F�4&8A44F�4F¢PQÞ�=Þ�â�â/@A8�MR=�6>PN4

G*MIPNÝ!PNÝA4Z=76>LQF�MIB�48A=�6>äABQ@AHS6>PN4CFfMI8/PQÝA4�äALQÞ �;ò¯698AF/äALNÞ�ã5LX6>â�â!4LNBAóX@�BNPVÝq6�à54*PQÞ&MI8�à�Þ*��4MI8;PN4L æ<6>=4°â�4PQÝAÞ;FAB/PNÞ©LQ4?;@A4BNPK6�BQ4LNà;MI=4°æ~LNÞ�âèPNÝA4°=76>LQFñ6>äAä�HR4CP7ì�Ü`8 ��4Câ ��ä�LN4BQBNÞ=HIMI48;PE6>ä�äAHIMR=�6>PNMIÞ�8���MR8;à�Þ*�;MI8Aã06�F�4=LN4Câ�48;PVÞ5ä#4Lb69PNMIÞ58/Þ�8�PQÝA4��XêVÞ5@A8;PN4CL1�&=769LNF�69äAäAHI4P=7698fç#4&G*LQMRPQPN48K69B*MR8 �ÛMIã5@ALQ4)#�&�ì

� a�a)+��������B�\�� �����d������&���)����-�F)�1�2�\d�\��3��&���*�* ��-�+���%�+���$�,����(/<���,��������!�a�a/%�F3�\�� ������������*�*P� _�.�@" N(+���$�,����)����$�,����f8b,��� ��-�+���%�+���$�,T�����6��P���27'�0 a�a O���&�����b�\�� ������&���4 �2� 6c����$�,������R*��&���� 627g8�8d��$��:7 p5 a�a)A�*��b����$�,����f���3��������$�,C�(������ �1�2�\3�\�� �����= OF�*�������R��$�� �M��'��,���&�, 6���J���&P��,���c8�� �:����$�,���������P�� 627�7��D OF�*�������R��$�� �M��'��,���&�, 6���^���c%���&���,����/8�� �>����$�,������M�����(��h����,���62�[9'771�E |

�ÛMRã#ì�#�&�ì�� ��4â �ZäALN4CBNBNÞ�=HIMI48;P�6>äAä�HRMI=769PNMIÞ58!MIâ�äAHI4â!48;Pb6>PQMIÞ>8

� �¢Í�Ï�É �QÎ�Ú;ØNÍ�Ï

Ü`8©PNÝ�4/3�6�à56�ê*69LNF�=HIMI48;P`:`BN4LQà54L�â�Þ;FA4H�69HRH�PQÝA4/4��;=XÝq6>8Aã�4F©â�4CBNBb69ã54B&69LN4/çq69BN4F©Þ�8� � � ZB/FAMILN4=CPNHIò©Ýq6>8�FAHI4F©ç;ò©PNÝA4!=HIMR4C8�P�6>äAäAHIMI=769PNMIÞ58¨698AF©PNÝA4!=76>LQF¥6>äAäAHI4P�6>P�PNÝA4

Page 17: Developing Smart Card-Based Applications Using Java Card

HI4à�4H;Þ>æAPNÝA4CMRL�69äAäAHIMI=76>PQMRÞ�8�=Þ;FA45ì � � �" �B�LN4?;@AMILQ4EPQÝA4E=CHRMI48;P�6>äAäAHIMI=769PNMIÞ58&6>8�F&PNÝA4V=769LNF69äAäAHI4P�PNÞ 48Aã;6>ã�4�MI8©6>äAäAHIMI=769PNMIÞ58;:`HI4à54CH�äALQÞ5PNÞ;=Þ�HIB0PQÞ 48A=Þ;FA4 6>8AF�FA4=Þ;FA4/â!4BNBX6>ã�4Bæ~Þ�LE4���=XÝq698Aã54\�A6>8AF PNÝ�40F�4BNMIã58!Þ>æ�BN@A=XÝ äALNÞ�PNÞ;=Þ�HRB*MIBV=@Aâ/ç#4LNBQÞ5â!406>8�F�=7698fç#4�4LNLQÞ5L :äALQÞ58A4�ì

�*ÝA4 ��4â �ZäALN4CBNBNÞ�6>äAäALQÞ�69=bÝ/MIB�MI8�æ<69=P�BQMRâ!MIHy69L�MI8/BNä�MRLQMIP�PNÞ&3;6�à56 � B � � Ü"� �*4Câ�Þ5PQ4� 4CPNÝAÞ;F�Ü`8�à�Þ;=76>PQMRÞ�8.���#Þ�L0â!Þ5LQ4&äALN4C=MIBN4HIò�PNÞ PNÝA4���ê*J � B!� ��ê �C�*4â!Þ5PN4 ��LNÞ;=4F�@ALN4ê*69HRH+� â�4=XÝq698AMIBNâ�ì�*ÝA4�=HIMI48;P/äALNÞ�ã5LX6>â�ã54CPNBf6 LN4Xæl4LN48�=4©PNÞ¤6�HRÞ;=769H�Þ�ç5óX4=P �SPQÝA4äALQÞ �;ò �gG*ÝAMI=XÝ�LQ4äALN4CBN48;PNB�PQÝA4�LN4â!Þ5PN4ZÞ5ç5óX4C=P)�SPQÝA4�=76>LQF 69äAäAHI4P]���A6>8�F�PNÝ�48 @ABN4B*PQÝAMIBHIÞ;=76>H�Þ5ç5óX4C=P�PQÞ�=769HRH�PNÝA4VLN4Câ�Þ5PQ4�Þ5ç5óX4=CP��>ç;ò�MI8;à5Þ(�;MR8�ãEâ!4PNÝAÞ;FABÛFA4Xëq8�4F�MI8�PNÝ�4 69äAäAHI4P � BMI8;PN4L æ<6>=C45ì � BNä#4=Måëq=/äALQÞ5PQÞ�=CÞ5H"�5��� Ü1�Zç#4P`GE4C48¨PQÝA4�Ý�Þ5BNP&698AF¢PQÝA4�=76>LQF¢MIB�@ABN4CF�æ~Þ5LPQÝAMIBEäA@�LNä#Þ5BN4�ì&�*ÝA4 ��� Ü�ä�LNÞ5PQÞ;=Þ5HkMIBVÝq6>8AF�HR4CF/ç�ò/PQÝA4�=�6>LNF Þ�äq4LX6>PQMR8�ã�BQò�BQPN4â Þ58�PQÝA4BQ4LNà�4L*BNMIFA4�6>8AF/ç;ò�6>8�69@APNÞ�âf69PNMI=76>HIHIò�ã548�4Lb69PN4F äALQÞ ��ò�äALQÞ5ã5LX6>â�Þ58!PNÝA4Z=HIMI48;PEBQMRF�45ì�*ÝA4/6>MIâÑÞ9æEÞ5@ALZæ~LX6>â!4GEÞ�L �!MRB�PQÞ�BNMIâ!äAHIMnælò/PNÝA4/PX6>B �°Þ>æ 6!FA4à�4HIÞ5ä#4L�G*ÝAÞ G 698;PNB�PNÞFA4CBNMIã58 6>8AF!G*LNMIPN4Z8A4Gñ69äAäAHIMI=76>PQMRÞ�8/MI8�G*ÝAMI=XÝf6�BQâf69LNP�=769LNF MIBE@�BN4F�ì��µ44MI8Aã�PNÝA4�=769LNF69B®6*=CÞ5â�ä#Þ58�48;PkMR8�6*FAMIBNPQLNMIçA@APQ4F�Þ5ç5óX4=CP®BQò;BNPN4Câ LN4CHRMI4à�4B�äALNÞ�ã5LX6>â�â!4LNB�æ~LQÞ5âðFA476>HIMI8AãG*MIPNÝ°äALNÞ�PNÞ;=Þ5H�MIBNBQ@A4B���6>8AF©6>HIHIÞ>G*B*PNÝ�4â(PQÞ�BNä#48AF©â!Þ5LQ40PQMIâ�4&Þ�8KPNÝA4/6>ä�äAHIMR=�6>PNMIÞ�8 � B=Þ�LN4Zæ~@A8�=PNMIÞ58#6>HIMIP`ò�ì

��Þ�=Þ�8A=HI@AFA4\�5GV4*=76>8�Bb6�ò PNÝq69P�3�6�à56Zê*6>LNF/MIB�GV4HIH�BQ@AMIPN4F�ælÞ5L�=76>LQF/FA4à�4HIÞ5ä#4LNB*6>8AF��4Câ ��ä�LN4BQBNÞ*ælÞ5Lk3�6�à56�FA4à�4HIÞ5ä#4LNB�ì>3�6�à56*ê*69LNF&48#6>çAHI4B�PNÝ�4ELQ4X:<F�4à54HIÞ�äAâ�48;PkÞ9æqHI4ã�69=ò69äAäAHIMI=76>PQMRÞ�8AB�MR8¤3;6�à56�G*MRPQݤäALNÞ;=4BQBNMI8AãßÞ>æ&HI4ã�69=ò � � �" �B��VG*ÝA4CLN4769B ��4â �ZäALN4BQBNÞ48#6>çAHI4&PQÝA4&FA4à�4HIÞ5äAâ!48;P*Þ>æE8�4Gï=76>LQF;:`çq6>BQ4F¡69äAäAHIMI=76>PQMIÞ58AB*G*MIPNÝ FAMIBQPNLNMIçA@�PN4F�Þ5ç5óX4C=PPQ4=XÝA8AÞ5HIÞ�ã5MI4B7ì

� Ö��7ÖÛÌAÖ�ÏZÉkÖ�Ú

� ¦������ ������������������������������������� �!#"�� $%$&!��' � ()' �+*Vh�ñÃ9W�acN�lj<¬³acN��^0¬�aC�K§kaÅ>U,�UN�;UQ¶��`^.-5cNh�W Äg�5ª`UXdX�lj<Ägc`mnUQ�5�`Ub�/§kUXd e5��hC[nh��mnUX^X¦E�y�/*VacN�`UQ[kUX�®aC[S¦�0 �2143 ±>Y�Yq¦ �658729��2:%; ¦

< ¦���=�>)? @�AB���C�.D���.E/ =����F&�C�.GH��.GI��@���J�#�K�BLH��.MN��A�A�&��$&�����.�������� �OM#�&��$��.EP�Q®t&RSR szNu�¹2T®zQ{RsCuNR sVUXWA�ZY2RS[kt>z~s�»*zlvN�;{RSsNv4RS�5zls�¹ »\W�]C�)RSs���ZY^Q®t&RSR szNu��N¦K«�hCe5�¢­°m][nUX�`_Ã>hC��^X± �2:%:8a ¦

b ¦�c�� �N��d��?#@fe#M#�?#= ��dBN? @C��gS�!?��å±7iÛ�A¦�hkt>ziU�j�sNvN�8k�WAsQv�5z8j5sQvN�.l&m&m#n�vQ�>u)YXszlsu;vNsµ�qz~�CvNsNsoU�¹{Iu � �Nw�p/t&]ql&m^RS�sr&r>wCl&m&m&t�w�T®z �nt>uNU>��w�uk�n�>zN{U>t�w.v²�FWA�]»�� wSx/a� �2:%:&5%y ¦

; ¦�cI��=�$#��= � �>8���z��|{}� $%$&�~A�� ��!��' ��!�������.�~�����NJ� �|�Cd��&¼*{å�)RSzQ{��C�#RSsoUHW�]C�)RSsC�*�)��hk�>u�¹vNsl�!Ry� t>u�UZ¼ sx�b{]�>u�±>^`UbdXhC����U*Ub��¦ + ^`^lmn^`hC�5j~­!Ub^l[nUX��� \5�5[]mn^le�m]�A��¬�h7WZY;a�5���y��d�¦å± �2:%:8; ¦�i�#������� �%���C�|�C���&���2���&�H�C� �8���~�8�2�����V�o�V�2���2���#�&� �2�������� �# & 8�����#�S��¡~¢B£��8���&�¤ ¦

7 ¦B�!¥'%���!�¥D��!¦#��§.���s�C*Vh���`h�W�aÅ>UVa0«�a�a�¬³acN��¦®�I�/¬�acN��§kUXd`e ¨�Ã>UXdQ\5cN§kUXd eq±��y��d�¦�0 b43 ±Y5Y#¦N© :�9��21�< ¦

a ¦�{���#��ª#=!>8�sLH��.�����«E¬����­��H' ��dH�å±�i���^X¦«Wµ�Zt>zVRZvNt>z�U��&¹0»��>�5{U>s�RS�®��5{å�~U>{Iu>��t>u�U��t>u;t�>{Iu>�Z�b�Zt>zVR�vQt>ziU tQ�>�A�n{RvQt&RS{I�>u>�Q¦q«�he��¯­°m][nUX�¬_¥Ã>hC��^X± �):8: ©5¦

5 ¦������ � �����|�CGH�fM!��{q��Ã>W�acN�V¬�acN��^Xo + Y�c`mnW0UQc¦�¯>t&°t²±��>z`�~U^r>± ��< w � UXd�¦ �2:8:�58y ¦�i�#������� �%���C�|�C� ³Z�&´V�8�� )��¡��#���) 8���Z³Z�&´V�8�� )��¡����Z³2�!µZ¶2·8µZ¶%¸8¸&¹Z�Z³2��µZ¶)·8µ ³Z�&´o�8�&��´����#�º��¡ ¤ ¦

©5¦������ � �����|�CGH�fM!��{q�|»��;�5UQcN^`�`a�;�>m]�;��«�a�a&¬�aCcN� < ¦ 1 ¦�¯>t&°t¥±��>z �~Us¼>± b wSx/ac¦ �2:%: © y ¦�i�#������� �%���C�|�C� ³Z�&´V�8�� )��¡��#���) 8���Z³Z�&´V�8�� )��¡����Z³2�!µ�½�¾8µZ¶%¸8¸2¿��Z³2��µ�½6¾8µ ³Z�&´o�8�&��´����#�º��¡ ¤ ¦

: ¦���=���@�&�#ÀC�ÁM!������.�����Â'�=����� �!>o#�C�Hd���EP�å±®iÛ�5^X¦ÂWA��t>zoRXh²t>z�U°¼ s�°CsX�n�Q��szJà �^Ä {RI¦x/a7dXWZm][][naC� §kUXd e5�5mndXaC[C�k\��5[]mn^le5m]�A��± �2:%: ©�¦�i�#������� �%���C�|�C� �o�)�&�&���2 8���V¤ ¦

Page 18: Developing Smart Card-Based Applications Using Java Card

�21 ¦sL����#��&$�������LH��� ���������!�F���!>8������B��������=���>���=��#��&�C��' � (2'#�å±�iÛ�5^X¦ Q�z~�CvNsNsoU>{Iu � �0�ZYRn�;ssr5u�U��Nu�RSszQu;t&RS{I�>u�tC�Chk�>u2YXsz~sCu�vQsXhµ»�º�¼��ZWPl&m&m&t¥h�±��`w®»*�*�2RSsz�U>t>�*wHj;�;s*s�Rn�;sz ¹�nt>u�U��Nw|Wµs<�!RSs�H�Qsz.l&t�¹ l��>w�l&m&m&t¥w + W�^`�`UQcN�5a�W�±²Ã9UNY;�X¦ �2:%:8a&y ±²Ã>�lmnd e5�lm]���²x/a7�le;UbW�a��lmn^`d`e¬�UQ�5�lc`\�W�¦

�8� ¦sgS����&����� ����������$� �����������¦4�#������� ª#��� M#�&�����������!�¦�� �N������ZgZM� �N¦ ¼ zltZY2R��NuNR szNu;t�¹RS{I�>u;t���W R t>uNU>t>z�U��ZW�T�k�����h n��#l&t&���Nu�RSs~�>zlt&RSsoU�v{Izlv�5{R��<����vQt>ziU���[k{Rn�+vN�>u�RSt>v�RI���XQ®t>zoR����{Iu�RSszN{Iu�U>�>�2RSzV]ZvN�>�Z��t>u�U��CYX�>z�{Iu�RSszlvN�;t>u>�>sX¦��k¦]ÄZ¦N,�h£ 74a ± �6<J�8� TVUN�;UX�a <41 ±²Ã>�³mn���bUQc`j[naC���A± �2:8:%; ¦

��< ¦sgS����&����� ����������$ .� �������¦�� ������� ª#� � M#�&��� � � �N����¦4�#�������!�ZgZM� �N¦"�Nu�RSszNu;t&RS{I�>u;t��W�RSt>u�U>t>ziU#�ZWKT�k�����h`n��#l&t&�$�NuNR s~�>zlt&RSsVU v{Iz~v��{R��l�%�0vQt>ziU��H[k{Rn�°vN�>u�RSt>v�RI����Q®t>zoR�¼#��sX�nsNvx¹RSzl�>u;{Rv��b{]�>u;t��]�*t>uNU^RSz~t>u��X��{å�N�X{R�>u��qzl�&RS�vN���]�Q¦C�k¦]ÄZ¦N,�h£ 7�a ± ��<&�8� TVUQ��UX�a <�1 ±qÃ>�³mn���bUQc`j[naC���A±�&Vh�;¦ �):8:8; ¦

�2b ¦s��@��������C�fGH�å±�iÛ�A¦�¼*{å�)RSzQ{��C�#RSsoUzhk�>���q� RS{Iu � ¦!�kcNUQ�5�lmndXUQji*Va[][®�y��d�¦n± �):8:%; ¦�2; ¦sG�����­�$��(' �������� §�ª&ª#�~���C�)' �.WA��t>zoR�hkt>ziU#* t>u�U&�N�C�,+�¦q«�he��¯­°m][nUX�¬_¥Ã>hC��^X± �2:%:&5 ¦��7 ¦sG��!>o#���NJ���#ÀC�(' ���I��#����#ÀC�f{q��������`D��>V@�&�C�|�Á�²vku�U>sz`�2RSt>u�U7{Iu>�*¼sh)��¦EÄ�- _�UQm][][n�

_ + ^`^`h>dQmna7�`UX^X±qÄVdX�X¦ �2:%:&< ¦�i�#������ �8�N�|�C�C�� )�S�&���2 %��� �V�&����¡� V£&�N�8�&�2�Z�o¤ ¦

�2a ¦sM#=��¥E��?&���!>oÀ!>o��#A.>%�fgS�!?�¦� s�Rº[k�>z�+ Q®zl�N�>zlt>�����Z{Iu ��·���{U>sX±�x/ac¦ �2:%:81 ¦Cx/a�>\;a[#^`Ub��Shc*Ã�\5�AÄ*à ; ¦ � ¦ £;¦

��5 ¦sM#=�� E���?J� ��>oÀ!>o��#A�>8�BgS�!?�¦/¯>t&°t¥hkt>z�U�r5�/.�0µt>u>�>��t�>s�WA� �X�bs�R�t>u�U21²{IzVR �5t���p¯t>vN�;{Iu;sW���sNvC{ 3�vQt&RS{I�7u�w.Q®zl�N�>zlt>����{Iu>� hk�>u�vQsl�!RI�Qw t>u�U »��>�A�n{IvNt&R {R�>u Q®zl�N�>zlt>����{Iu>�2�Nu�RSsz~YXt>vQsX�N±ÄVdX�X¦ �2:8:�5 ¦�i�#������ �8� ³Z�&´o�&� �2��4#���) 8���&�%�� &�#�8������ ³Z�J´V�8�V�2�����V¤ ¦

� ©5¦sM#=�� E���?J���!>oÀ!>o��#A�>8�|gS�!?�¦�¯>t&°tXhkt>z�U0»³�>�A�ns�R#¼*s�°sX�n�Q��sCz&à �E·���{�U>sx±9«C\�[n� �2:8: ©�¦�i�#������ �8� ³Z�&´o�&� �2��4#���) 8���&�%�� &�#�8������ ³Z�J´V�8�V�2�����6587�9;:=<|���#�º��¡ ¤ ¦

§�e�mn^EaCcN�lmndQ[nU���a7^³Y5cNh>dXUX^`^`Ub�+\�^lm]�;�&�le�U�>@?X§ i ßW0a�dQcNhZY�a�d`Å7a��7UZ��mn�leA>)>(&*¬�Ã�^`�l��[nU