2011-12-22 4 views
0

Для связи с смарт-картой, расположенной в удаленном PCSC-считывателе, необходимо использовать локальное приложение для чтения ПКЦ.Как связаться с удаленным PCSC-считывателем с локальным приложением PCSC?

  (Windows) 
| - - - - - local - - - - - |   | - - - - remote - - - - | 
PCSC app <-> virtual PCSC <-> tunnel <-> tunneling PCSC app <-> SCard 

Каковы варианты осуществления такого рода дистанционной карточной связи?

  • Может быть, вариантом было бы реализовать виртуальное устройство для каждого экземпляра туннельного соединения? У меня нет знаний, как это сделать. Я бы предпочел Java или .NET.

ИЛИ

  • Может быть это можно подделать winscard.dll (прокси), просто поместив его в папку PCSC приложений?

Я хотел бы использовать туннелирующее приложение PCSC на удаленной стороне в качестве веб-апплета java.

Есть ли у вас какие-либо хорошие предложения или дополнительные варианты, как мне решить эту проблему?

ответ

0

OpenCT утверждает, что имеет примерно следующее: http://www.opensc-project.org/openct.

Также вы можете получить считыватели смарт-карт с Ethernet, их драйверы сделают что-то вроде этого.

+0

Хорошо .. Я обнаружил, что эта обработка dll может быть выполнена. Там может быть реализована dll смешанного режима C++. Хорошей отправной точкой является http://www.codeproject.com/Articles/16541/Create-your-Proxy-DLLs-автоматически. Единственным тонким является то, что вы не можете называть свои связанные с .NET вещи из __E__0 __(), например, родными функциями. Кроме того, вы не можете инициализировать свои объекты .NET в конструкторе, потому что там может работать VM между управляемым и неуправляемым C++. Вы должны вызвать функцию управляемой функции fron native как смешанную. Таким образом, виртуальная машина запускается. Но все же я нашел другое обходное решение по недокументированной функциональности – vellotis