n2o-ecp-plugin

7.20.48 • Public • Published

n2o-ecp-plugin

Описание

Плагин упрощающий работу с КриптоПРО в N2O проектах

Возможности

  • простое подключение в любом месте кастомизируемого проекта N2O
  • создание модального окна с выбором сертификата и блоком информации по нему
  • если найден только один сертификат, которым можно подписать, то автоматически применяется он
  • возможность указывать тип HASH подписи (открепленная, присоединенная)
  • отправка запроса на получение документа для подписи и его сохранение
  • гибкая настройка плагина

Установка

В конфиге кастомизируемого проекта N2O необходимо:

  1. Импортировать button import { EcpButton } from 'n2o-ecp-plugin';
  2. Использовать в качестве кастомного действия { buttons: { EcpButton }}

EcpButton может принимать следующие параметры:

  1. buttonLabel - текст кнопки вызова открытия модального окна с сертификатами
  2. title - заголовок модального окна
  3. signButtonLabel - текст кнопки подтверждения подписи
  4. cancelButtonLabel - текст кнопки отмены
  5. fileForSign - строка для подписи
  6. signType - вид подписи (HASH, XML)
  7. typeOfSign - тип HASH подписи, где true - открепленная (по умолчанию), false - присоединенная
  8. fileRequestService - настройка получения документа с сервера
    • url - путь, на который будет отправлен запрос
    • type - метод запроса
    • data - объект или функция, результат которой отправиться вместе с запросом на сервер, для GET запроса отправиться в query, для остальных в body
    • documentKey - ключ в котором вернется документ из body, по умолчанию 'hash'
  9. fileSaveService - настройка сохранения подписи
    • url - путь, на который будет отправлен запрос
    • type - метод запроса
    • data - объект или функция, результат которой отправиться вместе с запросом на сервер, для GET запроса отправиться в query, для остальных в body
  10. successSign - callback функция получения подписи
  11. errorSign - callback функция ошибки

Передача алгоритма

В режиме fileRequestService плагин отправляет алгоритм сертификата вместе с data. Ключ - certificate

Объект результата подписи

{
    "Document": "документ",
    "SignedDocument": "подписаный документ",
    "Name": "ФИО из сертификата", 
    "SignDate": "дату и время подписи", 
    "SerialNumber": "серийный номер сертификата", 
    "ValidFrom": "даты действия ('с'' в формате dd.mm.yyyy hh24:mm:ss)", 
    "ValidTo": "даты действия ('по'' в формате dd.mm.yyyy hh24:mm:ss)", 
    "Issuer" : "владелец сертификата",
    "Data": "response fileRequestService"
}

EcpApi

Кроме кастомного действия N2O, в пакете также присутствует api для работы с КриптоПРО.

Использование

  1. Импортируем api import { EcpApi } from 'n2o-ecp-plugin';
  2. Используем const certificates = await EcpApi.getCertificates();

Методы

Все методы возвращают Promise. EcpApi.getCertificates()
Метод получения сертификатов.
Пример данных:

        [
            {
                algorithm: "ГОСТ Р 34.10-2001",
                issuerName: "CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, E=support@cryptopro.ru",
                label: "Test Certificate (до 20.02.2020 17:02:34)",
                name: "Test Certificate",
                oid: "1.2.643.2.2.19",
                serialNumber: "12003D490CF6FB17B679DB04B90001003D490C",
                subjectName: "CN=Test Certificate",
                thumbprint: "C478ACE69DD1DFEEDD6695CC8ED7BE3A5FBED89C",
                validFrom: "20.11.2019 16:52:34",
                validTo: "20.02.2020 17:02:34",
            }
        ]

EcpApi.getCertificate(hash)
Метод получения сертификата по хешу.
Аргументы:

  • hash - хеш сертификата

EcpApi.sign({ signType, certificate, data, typeOfSign, fileRequestService, fileSaveService })
Метод подписи.
Агрументы:

  • signType - вид подписи вид подписи (HASH, XML)
  • certificate - сертификат подписи
  • data - данные на подпись, также может быть массивом
  • typeOfSign - тип HASH подписи, где true - открепленная (по умолчанию), false - присоединенная
  • fileRequestService - настройка получения документа с сервера
    • url - путь, на который будет отправлен запрос
    • type - метод запроса
    • data - объект или функция, результат которой отправиться вместе с запросом на сервер, для GET запроса отправиться в query, для остальных в body
    • documentKey - ключ в котором вернется документ из body, по умолчанию 'hash'
  • fileSaveService - настройка сохранения подписи
    • url - путь, на который будет отправлен запрос
    • type - метод запроса
    • data - объект или функция, результат которой отправиться вместе с запросом на сервер, для GET запроса

Readme

Keywords

Package Sidebar

Install

npm i n2o-ecp-plugin

Homepage

n2oapp.net/

Weekly Downloads

43

Version

7.20.48

License

MIT

Unpacked Size

38.1 kB

Total Files

7

Last publish

Collaborators

  • sergey481516
  • notoriginal
  • alexeysokolov
  • predok-mif
  • alexanderibelov
  • esadykov