Показать/Скрыть содержание

    Push-плагин

    КриптоПро DSS может оповещать пользователей, использующих мобильные приложения на основе DSS SDK, о различных событиях DSS:

    • выпуске сертификата
    • запросе на подпись документов
    • изменении учётной записи
    • и т.п.

    Список событий, для которых доступно оповещение пользователей, приведён в разделе Оповещение

    Отправка Push-уведомлений осуществляется через подключаемый к Центру Идентификации DSS модуль оповещения типа Push. Модуль оповещения состоит из двух плагинов:

    • Плагин форматирования - плагин для формирования тела Push-уведомления.
    • Транспортный плагин - плагин для отправки Push-уведомлений.
    Примечание

    В состав КриптоПро DSS входит модуль для отправки Push-уведомлений через сервисы FCM (Google) и APN (Apple).

    Алгоритм оповещения пользователей

    • При вызове методов API DSS создаёт событие
    Примечание

    Событие представляет собой объект типа DSSTargetedMessage. Объект содержит:

    • идентификатор (код) события
    • Идентификатор пользователя (ID-пользователя, логин)
    • Параметры события (например, сертифитикат подписи, данные о документе и т.п.)
    • Событие передаётся в сервис оповещения пользователей
    • Сервис оповещения передаёт событие в модули оповещения доступные для пользователя
    Примечание

    Сервис оповещения собирает доступные для пользователя каналы оповещения (SMS, Email, Push). Доступные каналы оповещения настраиваются в профиле пользователя:

    • Номер телефона для SMS-оповещения
    • Адрес электронной почты для Email-оповещения
    • Push-адрес приложения на мобильном устройстве пользователя для Push-уведомлений Push-адрес задаётся в профиле пользователя при инициализации мобильного приложения на основе DSS SDK.
    • Модуль оповещения передаёт событие в плагин форматирования
    • Плагин форматирования на основе данных события формирует сообщение для пользователя
    Примечание

    Сообщение может быть любым объектом (строкой, .NET-объектом), с которым умеет работать транспортный плагин.

    • Сформированное Плагином форматирования сообщение и адрес получателя модуль оповещения передаёт в транспортный плагин
    • Транспортный плагин осуществляет отправку сообщения пользователю

    Реализация плагинов для Push модуля оповещения

    Плагин представляет собой динамичесткую библиотеку для .NET Framework 4.8 и старше. Библиотека должна содержать два класса, релализующие интерфейсы:

    • IPushPlugin - транспортный плагин
    • IMessageFormatter - плагин форматирования

      Интерфейсы IPushPlugin, IMessageFormatter описаны в библиотеке CryptoPro.DSS.Common.dll.

    Инициализация плагинов

    Плагины инициализируются один раз при старте сервиса Центр Идентификации КриптоПро DSS. Для инициализации плагина вызывается метод IDssPlugin.Initialize. Метод принимает словарь параметров, задаваемый при регистрации плагина.

    Оповещение пользователей

    Модуль оповещения вызывает метод Format у плагина форматирования и передаёт описание события DSSTargetedMessage. Плагин форматирования должен сформировать сообщение для отправки через транспортный плагин. Сообщение должно быть сериализовано в строку.

    Полученное сериализованное сообщение, событие и адрес получателя модуль оповещения передаёт в транспортный плагин.

    Регистрация плагинов

    • Плагин должен быть скопирован на сервер DSS в папку C:\Program Files\Crypto Pro\DSS\Plugins\Custom
    • Регистрация и настройка плагина выполняется в консоли Powershell с помощью команд Add-DssStsPlugin, Set-DssStsPlugin.
    В начало © ООО "КРИПТО-ПРО", 2000–2025