Using Smart Card with C#
I was looking for a way to use GemPlus 433 Smart card reader through C# and thought it shouldn't be hard to find some samples... after security these days is a main business issue to all of us.
well i was wrong ! GemPlus has an sdk at their site but this sdk doesn't have any samples in .net all they have are C samples which didn't have much documentation.
I needed more... so after a long search I came up with a sample on GotDotNet : C# Windows Form Demonstrating SmartCards Using PC/SC which was OK but I really needed some more functionality and didn't want to invent everything from the start interoping WinScard ...
I've noticed in one of the forums on GotDotNet an invitation to evaluate a Smart Card framework for managed .NET applications I thought to my self well... what do i have to loose... and sent this guy a letter... In return I got a full working component for evaluation purposes and.... Its a life saver !
Andreas Selle had implemented a great framework for working with Smart Cards using C# and it comes even with sample code !
Highly recommended solution for working with smart cards !
Update: Andreas just published version 2.0 of the framework !
you can download an evaluation version over here
Update: Andreas just published version 3.0 of the framework
The following major features have been added:
* Special support for SLE 4418, SLE 4428, SLE 4432, SLE 4442, and compatible memory cards with many card readers. For example: Reiner SCT cyberJack (through PC/SC and CT-API); Various SCM Readers (through MCard API), all MKT
(CT-API) compliant readers, Athena ASEDrive III (through PC/SC) and many others.
* Special support for ACR 80 reader from Advanced Card Systems Ltd. based on ACR80.DLL.
* Special support for memory card access through the SCM Microsystems Inc.
MCard API.
* Framework enhanced to standardize and ease development of card services. A standard card service should now derived from the CardHandle class. The CardCriteria are then used to hook up a card service with its card. A source code example of a simple card service is provided by the modified Taschenkartenleser example. More examples will be provided in a future release.
* The CardTerminalConfigurator was enhanced to support configuration of ACR 80 card readers and enable usage of MCARD API with SCM PC/SC card readers.