ATR de commande lors de la programmation de PC/SC lecteur
J'ai vérifié l'interface de programmation pour le MIFARE Ultralight et TOPAZE/Bijou IC balises. L'API très bien décrit comment les octets sont enregistrés sur la carte, la façon d'aborder les blocs de mémoire, la façon de faire toutes les opérations telles que la lecture, lecture à tous, l'utilisation de l'OTP (One Time Programmable) de la fonction, comment lire les ROM octets, comment passer de l'inactivité à l'état prêt (REQA, WUPA commandes), il dit que, si les commandes sont CRC protégé, comment accéder à la balise UID, etc.
Quand commencé à programmer le lecteur NFC (ACR122U ou SCL010), j'ai trouvé que toutes les communications entre le PCD (lecteur) une CCIP (tag) commence avec l'ATR (Réponse À Réinitialiser) de commande, qui est décrite sur Internet une commande que le PCD envoie à la CCIP à des fins d'identification.
Mais aucun des balises documentation mentionne l'ATR de commande, toutes les communications avec les balises quand ils deviennent alimenté (PQR) commence avec REQA, WUPA commandes pour passer de la carte au mode Prêt.
Ma compréhension est que l'ATR est construit par PC/SC basé sur la technologie NFC, carte le lecteur communique avec elle. Une fois que le lecteur de détecter quel type de technologie est la balise en fonction de ça crée de l'ATR. Aussi, selon la documentation de l'ATR pour les différents lecteurs NFC sont différents pour les mêmes tags NFC.
Suis-je droit? Le PC/SC construire l'ATR?
BR
STeN
Vous devez vous connecter pour publier un commentaire.
Réponse courte:
Réponse longue:
ATR est pour des fiches de contact et est spécifié dans la norme ISO 7816. Pour contacless de cartes, c'est le PC/SC lecteur (IFD) qui génère de l'ATR.
L'ATR est construit sur la base:
L'ATR sera de la forme
3B 8X 80 01 HB_ATS Parity_Byte
où X est le nombre d'octets de l'Historique des Octets de l'ATS (HB_ATS).
La construction exacte de l'ATR pour les cartes sans contact est donnée dans la section 3.1.3.2.3 de l'
PC/SC spec.
Étant donné que la seule variable est de l'ATS, il doit être le même quel que soit le lecteur.
--Sid
ATR contient des champs fixes ainsi que les champs facultatifs(conditionnel). Donc, en fonction de certaines valeurs d'un champ, à la suite de champs peuvent être omis donc ATR peut être différente pour différents lecteurs, mais ils sont tous conformes aux normes.
Découvrez la carte à puce tutoriel ici.
En bref, ATR image est comme ci-dessous: