Задать вопрос
@ki11k4
Web программист - любитель

Как считать номер карты при помощи pyscard?

Прошу помощи в чтении карты через pyscard. Пробую по мануалу считать номер. Что делаю не так не могу сказать.
Просьба просто дать код кто с этим уже сталкивался. Знаю что наглость, но время поджимает.

Мой код:
from smartcard.System import readers
from smartcard.util import toHexString

r = readers()
print(r)

connection = r[0].createConnection()
connection.connect()
SELECT = [0xA0, 0xA4, 0x00, 0x02]
DF_TELECOM = [0x7F, 0x10]
data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )
print("%x %x" % (sw1, sw2))


Выхлоп:
['ACS ACR1252 Dual Reader PICC 0', 'ACS ACR1252 Dual Reader SAM 0']
Traceback (most recent call last):
  File "reader.py", line 11, in <module>
    data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\CardConnectionDecorator.py", line 82, in transmit
    return self.component.transmit(bytes, protocol)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\CardConnection.py", line 146, in transmit
    data, sw1, sw2 = self.doTransmit(bytes, protocol)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\pcsc\PCSCCardConnection.py", line 205, in doTransmit
    SCardGetErrorMessage(hresult))
smartcard.Exceptions.CardConnectionException: Failed to transmit with protocol T
1. Idldroc? aaiar/auaiar auer ddldarir cc-cr craldrlic? dinier eieria cec di crd
dino ddceiclic?.


Видно что название ридера получено и следом идёт ошибка.

Говорю сразу, что далёк от протоколов работы смарт карт и считывателей, поэтому и обращаюсь за помощью сюда.

Платформа Windows 7
Python v3.6.8 x64
  • Вопрос задан
  • 267 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы