And back I had to write what I thought would be a simple and easy smart card code, and let me tell you that there was no walk in the park. First of all, it turned out that good information about smart cards is difficult to find on the Web. And when I found several websites, there was a lot of discussion of the main calls of the Win32 API and a whole group of other low-level materials, which is not so easy to read.
The fact is that they are called smart cards for some reason. The reason is that you basically interact with the built-in microprocessor by sending him commands that he understands and answers. This can get a little complicated, because many manufacturers believe that it would be nice to implement their own teams, so many things depend on the type of card you use. In addition, there are cards that look like smart cards, but are not really smart cards and don't even use any “standard” smart card interfaces, so you end up using the Windows SmartCard API to launch your reader, and smartcard reader a special API provided as .lib in some obscure corner of their site for the rest ...
Well, in the end I got my application, but, as I said, it was not easy. In any case, I made a big mistake, assuming that it would not be very difficult.
If you really want to get into smart cards, I believe that your best bet is to get a good book on this topic, but since I'm also a little more than a beginner, I really can't help you.
As for websites, the most useful thing in C # terms that I could dig up was the Smart Card Framework for .Net . Please note that this is not the same article as published by michaelvdnest, although the author is the same. The article in which I linked describes the C # wrapper for the native smart card API, and michaelvdnest adds XML to the mix, although I don’t know exactly how, because I haven’t read it yet.
So, begin to analyze the code contained in the article, and good luck. If I need memory, reader listing material is pretty easy to find.
dandan78
source share