Mantén la atención porque en este post hallarás la contestación que buscas.Este escrito fue evaluado por nuestros especialistas para asegurar la calidad y veracidad de nuestro contenido.
Solución:
Hace un tiempo tuve que escribir lo que pensé que iba a ser un código de tarjeta inteligente simple y fácil y déjame decirte que no fue un paseo por el parque. En primer lugar, resultó que es difícil encontrar buena información sobre las tarjetas inteligentes en la red. Y cuando encontré varios sitios web, hubo mucha discusión sobre las llamadas a la API de Win32 subyacentes y un montón de otras cosas de bajo nivel, que no son fáciles de leer.
el caso es que se llaman inteligente tarjetas por una razón. Esa razón es que básicamente estás interactuando con un microprocesador incorporado enviándole comandos que entiende y responde. Esto puede complicarse un poco porque muchos de los fabricantes pensaron que era una buena idea implementar sus propios comandos, por lo que muchas cosas dependen del tipo de tarjeta que esté utilizando. Además de eso, hay tarjetas que parecen tarjetas inteligentes pero que en realidad no son tarjetas inteligentes y ni siquiera usan ninguna de las interfaces de tarjetas inteligentes “estándar”, por lo que termina usando la API de Windows SmartCard solo para encender su lector, y el La API especial del lector de tarjetas inteligentes se proporciona como .lib en algún rincón oscuro de su sitio web para el resto…
Bueno, eventualmente logré que mi aplicación funcionara, pero como dije, no fue fácil. De todos modos, cometí un gran error al suponer que no sería muy difícil de hacer.
Si realmente quiere entrar en el mundo de las tarjetas inteligentes, supongo que lo mejor que puede hacer es conseguir un buen libro sobre el tema, pero como yo también soy poco más que un novato, realmente no puedo ayudarlo.
En cuanto a los sitios web, lo más útil en términos de C# que pude desenterrar fue A Smartcard Framework for .Net. Tenga en cuenta que este no es el mismo artículo que el publicado por michaelvdnest, aunque el autor es el mismo. El artículo al que vinculé describe un envoltorio de C# para la API de tarjeta inteligente nativa, mientras que el de michaelvdnest agrega XML a la mezcla, aunque no sé exactamente de qué manera porque aún no lo he leído.
Así que comience a diseccionar el código provisto con el artículo y buena suerte. Si la memoria no me falla, el material de enumeración de lectores es bastante fácil de encontrar.
Consulte Smart Card Framework para .NET en Code Project. Describe un marco XML para .NET para programar aplicaciones de tarjetas inteligentes.
se que es muy tarde…..
pero
Puede obtener una biblioteca profesional muy fácil de usar y gratuita para uso personal aquí:
Chip Card .NET Class Library for C#, VB.NET Smart Card .NET Software Developers
También hay una biblioteca comunitaria de tarjetas inteligentes (de uso completamente gratuito) aquí
https://www.nuget.org/packages/PCSC
En los últimos años, he preferido usar Nu-get en lugar de la API de tarjeta inteligente, si necesita soporte comercial, sin embargo, la API lib de tarjeta inteligente es la mejor opción.
Una vez que tenga eso, debe comenzar a comprender las APDU y cómo trasladarlas de la tarjeta a la terminal.
Realmente es un gran tema que cubrir, tengo un código que leerá todos los elementos comunes en una tarjeta estándar Chip & Pin EMV, lamentablemente fue escrito para un cliente de servicios financieros, así que no puedo dárselo, sin embargo, puedo explicar algunos de lo que debe emprender para leer la tarjeta.
Para otras tarjetas, depende de la tarjeta en sí, por ejemplo, tengo un lector de tarjetas y tarjetas en blanco aquí, y tengo algunos datos personalizados en algunas de ellas a los que solo yo sé cómo acceder, pero aún tengo algunos satélites antiguos y tarjetas de viaje que vuelven a ser diferentes.
Puedes obtener algunas ideas aquí:
¿Cómo leo el PAN de una SmartCard EMV de Java?
y hay mucha información sobre tarjetas inteligentes en general aquí:
https://web.archive.org/web/20160329205518/http://wrankl.de/SCTables/SCTables.html
especialmente las cosas genéricas (de las cuales hay algunas)
Reseñas y calificaciones
Nos encantaría que puedieras difundir este escrito si lograste el éxito.