Javascript - ключ/сертификат от USB Token

Я хотел бы спросить, невозможно ли с помощью JavaScript получить ключ из USB-токена или из сертификата, хранящегося в браузере. Я читал много статей, в которых говорилось, что WebCryptoApi не позволяет это сделать.

Есть ли вариант получить ключ от токена? Может быть, что-то изменилось?


person macieg_b    schedule 27.07.2016    source источник


Ответы (2)


На данный момент это невозможно. WebCryptoApi не поддерживает использование ключей, хранящихся во внешних хранилищах ключей, таких как смарт-карты, хранилище ключей Mozilla или хранилище ключей Windows (используемое Chrome и Explorer), и чтение комментариев последних конференций не является текущим приоритетом.

Существует еще одна спецификация W3C API Javascript для использования с API веб-криптографии. См. раздел обнаружение ключа WebCrypto.

В этом примечании описывается API JavaScript для обнаружения именованных предварительно подготовленных криптографических ключей для конкретного источника для использования с API веб-криптографии.

К сожалению, это все еще рабочая группа в стадии разработки.

person pedrofb    schedule 27.07.2016
comment
Я читал об обнаружении ключей WebCrypto, но он не готов к использованию. Может есть другой способ достижения цели? - person macieg_b; 27.07.2016
comment
Нет даже релиз-кандидата. Боюсь, не хватит интереса - person pedrofb; 27.07.2016
comment
... и без него шифрование на основе JS в браузере мертво. - person Maarten Bodewes; 07.10.2016
comment
Я использовал несколько веб-приложений от бухгалтерских компаний и государственных налоговых служб, и все они используют токен-сертификат для аутентификации и подписи документов. Как они это делают без WebCrypto Key Discovery? - person Allan Veloso; 26.02.2019
comment
@AllanVeloso, можно пройти аутентификацию в браузере с помощью USB-токена, используя два способа SSL-аутентификации. Браузер запрашивает у пользователя сертификат, если это требуется для SSL-соединения. Для подписи документов наиболее распространенным решением является установка локального программного обеспечения на компьютер и использование его из javascript через соединение http или websocket. - person pedrofb; 26.02.2019

Я думаю, что с реализациями Chrome Native Messaging это возможно. Собственный обмен сообщениями также реализован в Firefox и Edge. Проверьте это: https://github.com/open-eid/chrome-token-signing

person Viktor Varga    schedule 19.10.2017