CryptoPro - класс для работы с ЭЦП#
Класс CryptoPro реализует интеграцию с КриптоПро ЭЦП Browser plug-in для работы с ЭЦП. Поддерживается КЭП (квалифицированная электронная подпись).
Необходимое ПО для установки#
Список поддерживаемых браузеров и ОС, а так же инструкция по установке https://docs.cryptopro.ru/cades/plugin
Статические методы#
findCertificates#
Получить список сертификатов.
Метод принимает объект со свойствами:
- filterType - тип фильтра для поиска сертификата. Принимает значения от 0 до 12. Описание значений смотри в статье https://learn.microsoft.com/en-us/windows/win32/seccrypto/capicom-certificate-find-type.
- filterValue - значение фильтра.
Возвращает Promise, результатом которого будет массив, в котором содержатся объекты со свойствами:
- notBefore - дата начала действия сертификата (в формате YYYY-MM-DDTHH:mm:ss.sssZ)
- notAfter - дата окончания действия сертификата (в формате YYYY-MM-DDTHH:mm:ss.sssZ)
- rawData - сертификат в кодировке base64
- serialNumber - серийный номер
- subjectName - имя субъекта
- thumbprint - отпечаток сертификата (sha1)
Пример
sign#
Подписать данные (подпись в формате cms).
Метод принимает объект со свойствами:
- thumbprint - thumbprint сертификата.
- dataBase64 - данные для подписи в кодировке base64.
- files - массив файлов для подписания в кодировке base64.
- signatureType - тип подписи (по умолчанию 'CMS'). Доступные значения: 'CMS', 'CAdES-BES', 'CAdES-T', 'CAdES-A'.
- tsaUrl - адрес службы штампов времени. Используется для CAdES-T', CAdES-A подписи.
- autoDestroy - если true, то автоматически удаляет объекты, созданные плагином (по умолчанию false). Если false, то удаление нужно вызывать вручную методом clearMemory.
- checkCertificate - проверка сертификата (по умолчанию true - включено).
Возвращает Promise, результатом которого будет подпись (если передать dataBase64), либо массив (если передать files) подписей (cms) в кодировке base64.
Пример
signXml#
Подписать XML.
Метод принимает объект со свойствами:
- thumbprint - thumbprint сертификата.
- files - массив строк в формате XML для подписания.
- autoDestroy - если true, то автоматически удаляет объекты, созданные плагином (по умолчанию false). Если false, то удаление нужно вызывать вручную методом clearMemory.
- checkCertificate - проверка сертификата (по умолчанию true - включено).
Возвращает Promise, результатом которого будет массив исходных строк в формате XML со встроенной подписью.
Пример
enhanceCades#
Для подписи CAdES-A добавляет новый архивный штамп времени (перештамповка) для продления срока ее архивного хранения.
Метод принимает объект со свойствами:
- signatureBase64 - CAdES-A подпись в кодировке base64.
- dataBase64 - исходные данные, которые были подписаны в кодировке base64.
- tsaUrl - адрес службы штампов времени.
Возвращает Promise, результатом которого будет подпись в кодировке base64.
clearMemory#
Очищает память от объектов, созданных плагином.
Возвращает Promise.
verify#
Проверка подписи.
Метод принимает объект со свойствами:
- signatureBase64 - подпись (cms) в кодировке base64.
- dataBase64 - проверяемые данные в кодировке base64.
- signatureType - тип подписи (по умолчанию 'CMS'). Доступные значения: 'CMS', 'CAdES-BES', 'CAdES-T', 'CAdES-A'.
Возвращает Promise, результатом которого будет true, если подпись действительна, либо false, если подпись недействительна.
Пример
verifyXml#
Проверка подписи.
Метод принимает объект со свойствами:
- file - строка в формате XML со встроенной подписью.
Возвращает Promise, результатом которого будет true, если подпись действительна, либо false, если подпись недействительна.
Пример
checkPlugin#
Проверяет доступность плагина.
Возвращает Promise, результатом которого будет объект со свойствами:
- ready - если true, то есть доступ, если false, то нет доступа.
- error - описание ошибки, если ready = false, если ready = true, то error = undefined
Пример
checkCsp#
Проверяет доступность КриптоПро CSP.
Возвращает Promise, результатом которого будет объект со свойствами:
- ready - если true, то есть доступ, если false, то нет доступа.
- error - описание ошибки, если ready = false, если ready = true, то error = undefined
Пример
checkTspLicense#
Проверяет лицензию КриптоПро TSP Client.
Возвращает Promise, результатом которого будет объект со свойствами:
- licType - Возвращает информацию о типе лицензии продукта КриптоПро.
- validTo - Возвращает информацию о сроке действия лицензии продукта КриптоПро.
- serialNumber - Возвращает информацию о серийном номере лицензии продукта КриптоПро.
Пример
checkOcspLicense#
Проверяет лицензию КриптоПро OCSP Client.
Возвращает Promise, результатом которого будет объект со свойствами:
- licType - Возвращает информацию о типе лицензии продукта КриптоПро.
- validTo - Возвращает информацию о сроке действия лицензии продукта КриптоПро.
- serialNumber - Возвращает информацию о серийном номере лицензии продукта КриптоПро.