Promag Card Reader Доступ к PHP

У меня картридер promag 310. Подключается к ПК через com порт. Я хочу получить доступ к идентификатору карты с помощью PHP xampp на платформе Windows. Я добавляю php_pcsc.dll в папку расширения. И я обновляю php.ini вместе с ним. затем я написал этот код:

$context = scard_establish_context();
$readers = scard_list_readers($context);

print_r($readers);

// then when you have your card reader's identity from $readers

$connection = scard_connect($context, 'YOUR CARD READER HERE');
$response   =  scard_transmit($connection, 'pdu string');

Но PHP возвращает:

resource(2) of type (PC/SC Context) NULL

Поэтому я не получил доступ к кард-ридеру. Как я могу получить доступ к идентификатору карты с помощью PHP? Есть ли у кого-нибудь идеи для достижения этой ситуации?

Благодарю вас.


person erkunt    schedule 05.03.2015    source источник
comment
Небольшие проблемы с форматированием   -  person Victor Stafusa    schedule 05.03.2015
comment
Вы уверены, что у вас установлен драйвер PCSC для серийного считывателя? Если нет, то это наиболее вероятное препятствие, соответствующее вашему описанию.   -  person guidot    schedule 06.03.2015
comment
Я могу получить доступ к демонстрационному программному обеспечению mifare для чтения карт, которое закодировано .Net. Я могу получить номер карты, используя его.   -  person erkunt    schedule 07.03.2015


Ответы (1)


Поскольку я являюсь разработчиком PHP-расширения для доступа к смарт-картам, могу сказать, что вы все делаете правильно. Похоже, ваш кард-ридер не поддерживается. Я использую Omnikey 5321 и SCM SCL011 для доступа к смарт-картам, и они прекрасно работают.

Поскольку вы используете Windows, я не могу проверить, что может пойти не так.

person hanez    schedule 18.03.2015
comment
Эй, подождите... Я полагаю, что уже не удалось создать $context. Мне нужно будет исследовать немного больше, чтобы понять, что не так. Обычно вы должны получить контекст независимо от операционной системы. Я постараюсь запустить его на компьютере с Windows как можно скорее. - person hanez; 18.03.2015
comment
После некоторого расследования я пришел к выводу, что ваш кард-ридер не совместим с PCSC. Я не смог воспроизвести вашу проблему. Я думаю, что ваш ридер использует специальный протокол для связи, а демонстрация .Net для Mifare не использует API winscard. - person hanez; 19.03.2015
comment
Привет, ты прав. Мой кард-ридер не совместим с расширением pcsc. Я нашел скрипт Python и смог получить доступ к идентификатору карты. Спасибо за помощь... - person erkunt; 24.03.2015
comment
@erkunt, не могли бы вы уточнить этот скрипт Python, пожалуйста. Где я могу найти его? - person Kornel; 16.03.2021