Архитектура для доступа к смарт-карте из обычного браузера? Или: Как преодолеть разрыв от браузера до стека ПК / SC?

Каковы возможные архитектуры на стороне клиента для доступа к локальной смарт-карте из обычного браузера (подключенного к серверу через http (s)), предпочтительно из Javascript, с минимальными трудностями при установке для конечного пользователя? Сервер должен иметь возможность, по крайней мере, выдавать APDU по своему выбору на карту (или, возможно, делегировать часть этого коду на стороне клиента, который он генерирует). Я предполагаю наличие на стороне клиента рабочего стека ПК / SC, в комплекте со считывателем смарт-карт. Это разумное предположение, по крайней мере, для Windows, начиная с XP, современных OS X и Unixes.

До сих пор я определил следующие варианты:

Некоторые пользовательские ActiveX. Это то, что использует мое существующее приложение (мы разработали его самостоятельно), развертывание довольно просто для клиентов с IE, когда они получают разрешение на установку ActiveX, но оно не соответствует требованию «универсального браузера».
Обновить: ActiveX поддерживается в основном устаревшим IE, включая IE11; но не по краю.Некоторые расширения для ПК / SC-браузеров используют Netscape Plugin API, который выглядит как плавное расширение вышеперечисленного. Единственный готовый, который я нашел,SConnect, но похожеедва жив, его APIдокументация (вебархив) больше не является официально доступным, и имеет тесные связи с конкретным поставщиком смарт-карт. Принцип может быть хорошим, но создание такого плагина для каждой платформы было бы большой работой.
Обновить: Поддержка NPAPI прекращена многими браузерами, включая Chrome и Firefox.Java-апплет, работающий поверх Oracle JVM (1.) 6 или выше, который поставляется сjavax.smartcardio, Это нормально с функциональной точки зрения, хорошо документировано, я могу жить с несколькими известными ошибками, но я боюсь непреодолимой нисходящей спирали в отношении принятия расширения Java-as-a-browser-extension.

Любая другая идея?

Кроме того: существует ли какой-либо способ предотвратить злоупотребление интерфейсом ПК / SC, который имеет браузер, мошенническим сервером (например, представить 3 неправильных ПИН-кода для блокировки карты, просто из-за ее злобности или совершения еще более злых дел).

Ответы на вопрос(10)

Ваш ответ на вопрос