Bonjour,
Je dispose de deux lecteurs de cartes à puces, un Chipdrive micro 110 connecté sur le port COM et un SCR335 branché lui en USB. Je veux simplement lire le contenu des cartes insérées dans les lecteurs. De plus ces deux lecteurs sont compatibles avec la norme PC/SC.
Je me suis orienté vers l'utilisation du framework java JPCSC qui permet de communiquer avec les lecteurs. J'arrive bien à détecter les deux lecteurs.
Je peux me connecter à la carte située dans le lecteur mais il y a déja quelque chose de byzare : pour le chipdrive je n'arrive me connecter qu'en RAW et pour le SCR335 ca ne fonctionne qu'en T0. C'est d'autant plus étrange que les deux lecteurs sont censés supporter le protocole T0. Mais ce n'est pas encore trop génant.
Le problème principal est que je n'arrive pas lire les données contenues sur la carte quand j'utilise le lecteur USB. Quand je suis avec le chipdrive, j'envoie l'APDU de lecture de 5 octets :
Code :
- 0x00:0xB0:0x00:0x00:0x05
|
et ca marche bien je recois les données mais quand je le fais avec l'autre lecteur j'obtient le code erreur 6E00.
Je ne comprend pas pourquoi Confused PC/SC n'est il pas censé permettre un mode de communication standardisé quel que soit le lecteur connecté? Est-ce une erreur due à JPCSC ?
J'ai pensé qu'il y avait peut etre un APDU différent pour ce lecteur, j'ai donc tenté une méthode "brute-force" en générant tous les paquets possibles (en faisant varier les deux premier octets et en conservant toujours les trois derniers) et même en faisant comme ça, toutes les réponses étaient les même sauf pour 3 APDU (mais dans tous les cas ca ne représentait pas le contenu de la carte).
Mon objectif étant simplement de lire la carte, quelle que soit la méthode et le langage (tant qu'on reste sous WIndows), y a t'il une autre façon de faire ou aurais je le même problème en utilisant d'autres API ?
Vue la difficultée pour trouver de la doc, n'importe quelle idée est la bienvenue.
En vous remerciant.
Message édité par MagicDad le 14-04-2005 à 13:08:30