-
carte a puce /c#
Bonjour ts le monde
je suis en pleine réalisation d'un projet pour cela il faut que je charge , reset , récupérer les historiques d'une carte a puce est ce que quelqu'un a une idée pour m'expliquer comment je pourrai faire ca , franchement je sais pas d'ou commencer Merci d'avance
-
Bonjour d_sandra,
Je pense que dans un premier temps, il faut déjà savoir avec quel périphérique tu va lire ta carte à puce ^^
De la on pourra savoir si tu utilise les librairies Microsoft, ou si tu passera par les librairies du constructeur :)
Bonne journée ;)
-
bonjour
en faite c une carte fox et d'après le diagramme de déploiement je dois connecter la carte via une liaison Usb
-
salut,
moi je dois récupérer les données de carte à puce et rfid pour l'instant je me suis orienté vers la dll winscard cela peut te servir mais je suis un peu perdu avec les méthodes si quelqu'un peut m'aider
merci d'avance
-
Bonjour,
La dll winscard est tous a fait approprié pour la communication avec les cartes à puces, gérer les lecteurs et transmettre des commandes APDU.
http://msdn.microsoft.com/en-us/library/Aa380141
- Obtenir la liste des lecteurs carte à puce : SCardListReaders
- Se connecter: SCardConnect
- Transmettre la commande APDU en T0 ou T1 : SCardTransmit
- Se déconnecter : SCardDisconnect
-
bonjour,
d'abord merci pour ta réponse et est ce que tu sais si cette dll fonctionne aussi pour les carte rfid car je rencontre quelque problèmes?
Sinon je commence a envoyer des requêtes APDU à ma carte à puce si tu en connais quelques une pour faire des test de lecture .
merci d'avance
-
Alors par RFID, je pense que c'est une carte à puce dit "sans contact", et oui winscard fonctionne avec ce type de carte. Il suffit de lui précisé le bon protocole (T0 /T1).
Ensuite il y a des différences dans le formatage de la commandes APDU. Exemple : Le byte 'Le' de la commande PADU est obligatoire si celle-ci renvoie une réponse, car la commande 'Get response' n'est pas valide en sans contact.
Après les commandes APDU sont spécifique à chaque cartes à puces. il faut regarder la spécification de celle-ci.
Les plus courante sont : 'SELECT', 'REad Record', 'Get Data', ...
Voir sur le site des exemples de commandes APDU : http://www.cardwerk.com/smartcards/s....aspx#chap6_11
-
merci maintenant j'arrive a envoyer des requêtes APDU (par exemple 00 A4 00 00 1A) par contre les données reçues sont incompréhensibles.
quand tu me dis de regarder la spécification de ma carte comment puis je y accéder.
Pour l'instant j'utilise un programme récupéré sur internet pour tester mes requêtes mais je ne suis pas sur de la qualité. En aurai tu un a me conseiller?
en tout cas merci pour ton aide.
yann
-
Bonjour,
1- Je ne connais pas les outils qui permettent de valider tes requêtes / commandes APDU, -> test en envoyant sur ta carte?
2- Si tu ne connais pas la spécification de ta carte moi non plus. Si c'est une carte type "pass navigo", "carte vitale", ou autre, je ne peut/veut/doit t'aider à la craquer... Sinon je ne voit pas pourquoi on ne te l'a pas fournis cette spécification.
3- Ta requête : 00 A4 00 00 1A
CLA : 00 (commande APDU standard sans Secure Messaging)
INS : A4 (instruction select)
P1 : 00
P2 : 00
Le : 1A (longueur des donnée attendue)
Donc tu sélectionne le root et la carte te renvoie des infos sur celui-ci. A la fin du doit obtenir le status word 0x9000 -> succès.
Voila le reste sans spécification, cela change sur chaque carte (on peu retourner l'age du curé de la ville si on le souhaite)... donc je ne peu pas t'aider.
A toi de te former sur les commandes APDU (norme ISO 7816).
Bon courage
-
merci j'utilise des carte pour le personnel médical d’après les info de mon tuteur .
J'avance assez bien sur les requêtes niveau ISO 7816 il me reste juste de nombreux problèmes quand j'essaie de décoder les données reçues.
par exemple lorsque j’envoie la requête : 00 A4 00 00 1A à ma carte
je reçois :
62 18 82 01 38 A1 03 8C 01 00 84 0B F0 49 61 73 45 63 63 52 6F 6F 74 8A 01 05 90 00
IasEccRoot: 49 61 73 45 63 63 52 6F 6F 74
90 00 : success
donc la requête me renvoi bien un succès mais je n'arrive pas a décoder le reste
Je regarde en même temps les requêtes APDU pour ISO 14443 pour les cartes rfid.
Je vais continuer à me former la dessus merci pour les conseils.
-
Une commande APDU est formé en BER-TLV
Soit "Tag Length Value"
Ta réponse (norme IAS) :
T: 62
L: 18
V:82 01 38 A1 03 8C 01 00 84 0B F0 49 61 73 45 63 63 52 6F 6F 74 8A 01 05
Ensuite on décode la Value de nouveau en TLV :
T: 82 (tag qui indique le type de fichier sélectionnez)
L :01
V:38
T: A1 (Security Attribute)
L :03
V: 8C 01 00 -> T: 8C (droit accès en contact), L:01, V:00 (always)
T: 84 (AID de la sélection)
L: 0B
V: 0B F0 49 61 73 45 63 63 52 6F 6F 74
T: 8An (octet etat cycle de vie)
L: 01
V: 05
Status Word: 90 00 succès
La norme IAS, tu la trouve sur le net:calim2: (http://www.gixel.fr/includes/cms/_co...0v1_0_1_FR.pdf)
Voila tu as tous... Bonne chance pour continue;)r.
PS: dans qu'elle forum mettre ce topic car la ce n'est plus du C# ...
-
merci beaucoup je vais lire tout ça .
-
Smart Card / C#
Bonjour,
yann5959 je suis aussi débutant dans ce domaine ( programmation carte à puce). peut tu me donner les différents liens(site) que t'as utilisé ?