Accueil  Solutions  PC/SC software

Solutions

PC/SC software

Les nouveaux produits de la gamme SpringCard CSB6 (CSB6, Prox'N'Roll PC/SC, EasyFinger et CrazyWriter) sont des lecteurs de cartes à puce compatibles PC/SC.

Les logiciels et documents présentés sur cette page sont un bon point de départ pour commencer à utiliser votre nouveau lecteur SpringCard PC/SC.

Une courte introduction

PC/SC est le standard de facto concernant l'interaction d'un ordinateur personnel (PC) avec une ou plusieurs carte à puce (smartcard, SC), et évidemment via un ou plusieurs lecteurs/encodeurs. PC/SC est disponible sur la plupart des systèmes d'exploitation, dont Windows et Linux.

Logo of the PC/SC Workgroup

De nombreux documents et tutoriaux sont disponibles sur le Web pour présenter l'API PC/SC API, et notamment la documentation de référence sur MSDN. Si vous n'êtes pas encore familié de cette API, nous avons rédigé un court manuel (en anglais) qui constitue votre meilleur point de départ :

 SpringCard's Simplified documentation of the PC/SC API

Comme l'architecture PC/SC a été conçue pour les cartes à puce -et à une époque où les cartes à puce sans contact n'existaient quasiment pas-, il n'y a a priori rien de simple dès qu'il s'agit de travailler avec des cartes sans contact, et surtout pas s'il s'agit de cartes à mémoire (badges Mifare par exemple).

Heureusement, la Famille SpringCard CSB6 simplifie considérablement les choses. Elle dispose en effet d'un interpréteur d'APDU embarqué, dont le rôle est de traduire les "commandes classiques des cartes à puce" en séquences permettant de lire et d'écrire toutes les cartes à mémoire et les tags RFID, simplement et efficacement.

La documentation correspondante fait l'objet de ce manuel :

 CSB6 Family : PC/SC vendor specific attributes and commands

(Ce manuel contient également toutes les informations pour accéder au numéro de série du lecteur, piloter les LED ou le buzzer, arrêter le champ RF, etc).

Logiciels à télécharger sur ce site

SpringCard PC/SC Quickstart

SpringCard PC/SC Quickstart est un ensemble d'applications d'exemple, que vous pouvez télécharger librement.

Vous pouvez les utiliser gratuitement, mais vous devez respecter notre contrat de licence.

Le code source de ces applications est disponible gratuitement pour les clients enregistré, dans le SDK PC/SC.

Contenu du SpringCard PC/SC Quickstart :

PC/SC Diag

PC/SC Diag est un petit utilitaire pour échanger des APDU avec les cartes à puce ou les cartes sans contact. Il permet également d'envoyer des commandes dans la liaison "contrôle" des produits PC/SC SpringCard.

Le code source est fourni dans le SDK PC/SC (Win32 natif, langage C++ avec MFC).

PC/SC Diagnostic

C# Scriptor

C# Scriptor est un outil de script PC/SC basique, qui permet d'envoyer des commandes APDU vers les cartes, depuis un fichier texte ou par saisie manuelle.

Le code source est fourni dans le SDK PC/SC (requiert le framework .NET, langage C#).

csScriptor

SCardToolkit

SCardToolkit est un logiciel complet pour l'exploration des cartes à puce, au niveau de l'APDU. SCardToolkit est largement configurable, et est livré avec la liste des APDU supportés par les cartes sans contact les plus courantes.

Le code source est fourni dans le SDK PC/SC (requiert le framework .NET, langage C#).

SCardToolkit

Card Tool

Card Tool vous permet de lire/écrire plusieurs types de carte via une interface "éditeur Hexadecimal".

Cartes actuellement implementées :
- 14443 : Mifare 1K, 4K, Ultralight, Ultralight C ; ASCK CTS ; ST SR 176 B
- 15693 : ST LRI; Tag it; Icode; Picotag; NXP Icode1(lecture uniquement pour cette carte)
- Topaz NFC Tag d'Innovision
Implémentation possible avec d'autres cartes, tant que ces cartes sont compatibles avec nos lecteurs PC/SC.

Le code source est fourni dans le SDK PC/SC (requiert le framework .NET, langage C#).

cardTool

Logiciels libres (open source)

gScriptor pour Windows

gScriptor est un outil de script PC/SC basique, qui permet d'envoyer des commandes APDU vers les cartes, depuis un fichier texte ou par saisie manuelle.

gScriptor est un logiciel libre sous licence GPL ; les auteurs sont Lionel Victor et Ludovic Rousseau (page officielle du projet).

gScriptor est écrit en Perl+GTK. Notre programme d'installation pour Windows inclut le runtime Perl+GTK.

Smartcard scripting tool (Perl + GTK, PC/SC)

Autres ressources intéressantes

Java

Le package Java SmartCard I/O API (javax.smartcardio) est défini par la JSR 268 et implémenté depuis 6 (JRE / JDK 1.6). C'est un moyen portable et interopérable de faire communication une applet ou une application Java avec les cartes à puces. Il fonctionne comme une surcouche à la pile PC/SC.

La documentation complète de l'API est disponible sur le site de Sun consacré à Java..

Nous avons rédigé un guide technique (en anglais) qui décrit en détail comment développer une applet Java qui sera le bridge entre une page web (HTML+JavaScript) et une carte à puce, à travers un lecteur PC/SC. L'applet devra être signée (pour pouvoir accéder aux cartes à puces qui sont hors de la sandbox du navigateur web). Elle devra également être scriptable, pour que le code JavaScript (interprété) puisse accéder aux cartes (et pas seulement le bytecode Java, compilé et signé).

CodeProject

www.codeproject.com est un web board riche de nombreux tutoriaux et de nombreuses ressources pour les développeurs.

Ne manquez surtout pas les deux articles écrits par Olivier Rouit (et ses exemples avec code source bien documenté) :

Le tutorial How to access smartcards simply and effectively contient aussi un exemple de code Visual C++, avec une approche peut-être un peu plus orientée objet que celle de notre SDK.

SCardSoft

SCardSoft est une petite société basée en Ukraine. Ils proposent Smart Card ToolSet PRO, une application très utile pour qui veut se familiariser avec les cartes à puce au niveau de l'APDU, ainsi que SCard X Easy, un contrôle ActiveX qui facilite l'utilisation des cartes à puce depuis pratiquement n'importe quelle application ou n'importe quel langage -du moment qu'il supporte la technologie des ActiveX.