Некоторое время назад мне пришлось написать то, что я думал, что это будет простой и легкий код смарт-карты, и позвольте мне сказать вам, что это не было прогулкой в парке. Во-первых, оказалось, что в Интернете трудно найти хорошую информацию о смарт-картах. И когда я нашел несколько веб-сайтов, было много дискуссий о базовых вызовах Win32 API и куче других низкоуровневых вещей, которые нелегко читать.
Дело в том, что они называются умными картами по определенной причине. Причина в том, что вы в основном взаимодействуете со встроенным микропроцессором, отправляя ему команды, которые он понимает и на которые отвечает. Это может быть немного сложнее, потому что многие производители думают, что было бы неплохо реализовать свои собственные команды, поэтому многое зависит от типа используемой вами карты. Кроме того, существуют карты, которые выглядят как смарт-карты, но на самом деле не являются смарт-картами и даже не используют ни одного из «стандартных» интерфейсов смарт-карт, поэтому в конечном итоге вы используете API-интерфейс Windows SmartCard просто для запуска вашего считывателя, и Специальный API для чтения смарт-карт, предоставленный как .lib в каком-то непонятном уголке их веб-сайта для остальных ...
Ну, в конце концов, мое приложение заработало, но, как я уже сказал, это было нелегко. Во всяком случае, я сделал большую ошибку, предположив, что это будет не очень сложно сделать.
Если вы действительно хотите попасть в смарт-карты, я полагаю, что вам лучше всего было бы получить хорошую книгу по этому вопросу, но, поскольку я тоже немного больше, чем новичок, я действительно не могу вам помочь.
Что касается веб-сайтов, наиболее полезная вещь в терминах C #, которую мне удалось выкопать, была Smartcard Framework для .Net . Обратите внимание, что это не та же статья, что и michaelvdnest, хотя автор такой же. В статье, на которую я ссылаюсь, описывается оболочка C # для нативного API-интерфейса смарт-карт, в то время как michaelvdnest добавляет XML к смеси, хотя я точно не знаю, каким образом, потому что я еще не читал ее.
Итак, начните разбирать код, прилагаемый к статье, и удачи. Если мне не изменяет память, то перечисление читателей довольно легко найти.