Sélectionnez EF sur une carte à puce via son SFI
Question
Certaines cartes à puce offrent la possibilité de référencer un fichier par un SFI (identificateur de fichier court), qui est un nombre 5 bits. En revanche, un identifiant de fichier typique est de 2 octets.
J'ai besoin d'aide pour trouver comment faire, parce que je n'arrivais pas à trouver une réponse dans ISO 7816-4 .
D'abord, section 5.3.1.1 États (Souligné par l'auteur)
Sélection par court identifiant de EF - A court identifiant de EF peut faire référence à toute EF. Il se compose de cinq bits pas tous égal, à savoir, un nombre quelconque d'un à trente. Lorsqu'il est utilisé aussi court EF identificateur, le nombre zéro, à savoir, 00000 en binaire, les références de la EF actuelle. Au niveau MF, la numéro trente, à savoir 11110 en binaire, est réservé (voir 8.2.1.1). identifiants Short EF ne peuvent pas être utilisés dans un chemin ou un EF identifiant (par exemple, dans un SELECT commande).
Ma façon d'interpréter cette phrase est « vous ne pouvez pas utiliser un SFI pour sélectionner un fichier sur la carte à puce. » - ce qui est pas ce que je pense
En outre, section 7.1.1 spécifie comment la commande APDU SELECT est censé être utilisé; Le tableau 39 précise le contenu de P1. Cependant, aucun des exemples indiquent comment traiter via SFI (tous sont des identifiants 2 octets).
Alors mes questions sont:
- Quelle est la raison d'être d'ajouter SFI? 2 octets par identifiant était trop?
- Comment un fichier est sélectionné, si son est connu SFI?
La solution
J'ai trouvé les réponses à mes questions après quelques extra-recherche.
- Un fichier peut être lu directement par le SFI, sans avoir à sélectionner d'abord. Cela vous permet de gagner du temps (depuis peu de temps est consacré à la sélection).
- Comme indiqué au point 1, le point d'une SFI est que vous pouvez le lire immédiatement, donc les instructions qui expliquent comment un fichier peut être lu si son SFI est connue se trouvent dans la description des autres commandes - LIRE BINARY , lire l'enregistrement, etc. Voir section 7.2.2 du même doc