Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Установим Рутокен Плагин. Актуальная версия плагина доступна по ссылке:

    Если планируется работать с устройствами Рутокен Web:
    ftp://ftp.rutoken.ru/software/Rutoken_Plugin/4.3.1.0/Windows/RutokenPlugin.msi

    Если планируется работать с устройствами семейства Рутокен ЭЦП:
    https://www.rutoken.ru/support/download/rutoken-plugin/
  2. Изменим загрузчик плагина. Для этого заменим на страницах или в системе сборки скрипт rutokenweb.js на rutoken.js:
    https://www.npmjs.com/package/rutoken
    Оба эти скрипта используют Promise Если у вас установлен и работает rutokenweb.js, то зависимости должны быть. Иначе следует установить скрипт для работы с промисами, например данную библиотеку: https://github.com/jakearchibald/es6-promise
  3. Установим модуль проверки совместимости плагина и браузера:
    https://www.npmjs.com/package/rutoken-browser-check
    Он дает возможность локализовать проблемы при инициализации.
    У данного скрипта есть зависимость: https://www.npmjs.com/package/bowser
  4. Изменим логику инициализации работы плагина. Для этого:
    - вынесем логику в отдельный файл boot.js;
    - подключим его на всех страницах, где это необходимо;
    - удалим функцию token_refresh из подписи на onload странице.
    В общем случае, плагин получается в финальном resolve цепочки промисов. Мы передаем его конструктору нашей обертки вместе с методом получения PIN-кода.
    Этот метод нужен, чтобы эмулировать отображение окна со списком логинов и обработать выбор корректного id. Метод должен возвращать промис с id устройства и PIN-кодом, введенным пользователем.
    Все ошибки инициализации прилетают в reject промиса. Ошибки от плагина прилетают  другие, поэтому то место, где они обрабатывались необходимо изменить.
  5. Используем обертку над плагином rtwToCrypto.js. Код обертки:
    https://github.com/blade-runner/rutokenweb-to-plugin
    Обертка подменяет необходимые методы таким образом, что все старые сигнатуры вашего кода сохраняются и ваш код работает, но теперь уже с другим плагином и всеми устройствами семейства Рутокен ЭЦП.
     

...

Если в вашем коде есть использование других функций и какой-то код не срабатывает через обертку напишите на hotline@rutoken.ru или, если вы знаете, что нужно сделать, сделайте pull request в проект обертки.