Networks Association (CNA) Recommandations pour le support de mobiles NFC ou plateformes Java Card avec des équipements télébillettiques Calypso Afin d’assurer une large interopérabilité des Objets Portables embarquant des instances d’applet Calypso avec des équipements de télébillettique, il est recommandé de suivre certaines règles : Pour les mobiles NFC ou tout support sans contact à base de Java Card : R1 - Mettre en œuvre une applet répondant à la spécification Calypso révision 3.1 Cette révision a en partie été conçue pour supporter Java Card. Toutes les fonctionnalités et paramètres « non optionnels » définis par la REV3.1 sont compatibles avec les plateformes Java Card (certaines options de rétro compatibilité avec les anciennes version de Calypso peuvent ne pas être supportées par Java Card). Pour les terminaux billettiques Calypso : R2 - Limiter les modes émulation carte de l’objet portable, uniquement à la couche de communication en sans contact (standard à l’ISO 14443) et ne jamais faire intervenir le traitement applicatif Calypso dans le protocole de transmission. Les implémentations sur Java Card pouvant nécessiter des temps de traitement plus longs pour certaines commandes par rapport à des solutions natives, il est important de vérifier que les équipements télébillettiques gèrent correctement les requêtes S(WTX) et acceptent des valeurs de FWT longues. Tous les terminaux doivent être capables de gérer les modes d’identification aléatoire et sur numéro de série des protocoles d’anticollision, ainsi que l’absence d’ATR. R3 - Opérer une sélection d’application conforme aux environnements multi- applicatifs. Sélection explicite de l’application préalable à tout autre échange de commande APDU. Employer la commande « Select Application » avec un octet de classe à 00h (impératif pour les plateformes Java Card). Paramétrer la sélection avec un identifiant d’application AID normalisé et propre à l’opérateur du système billettique (éviter les identifiants génériques comme 1TIC.ICA pour lesquels l’unicité n’est pas garantie). Récupérer en réponse les 8 octets du numéro de série de l’application, utilisés comme diversifiant des clés de session. R4 - Utiliser la classe 00h pour toutes les commandes APDU transmises à l’applet. Ce paramétrage garantit le management correct des objets portables gérant plusieurs canaux logiques pour une même interface physique (la valeur de l’octet de classe peut varier suivant le numéro canal logique employé : ‘%0x00xxxx’). R5 - Accéder uniquement à la structure de fichier de l’application (par un Directory File) Après une commande de sélection d’application mettre en œuvre la fonction « Shared EF » afin d’accéder aux données d’autres DFs. R6 - Opérer la Ratification d’une Session par l’envoi d’une commande ISO autre que Select Application Calypso Networks Association a publié en décembre 2010 une spécification « Reader Recommendations – version 1.0 » afin de guider de manière beaucoup plus détaillée et exhaustive l’implémentation des équipements télébillettiques Calypso ; ci-dessous une correspondance avec les recommandations Txxx de cette spécification : R1 R2 R3 R4 R5 R6 T32 - T41 - T55 - T97 T1 - T5 T10 - T13 - T15 - T26 - T27 T11 T104 T62