Библиотека предоставляет API для работы c cadesplugin и Крипто Про
Форк библиотеки cadesplugin-crypto-pro-api
npm i cadesplugin-crypto-api
Выводит информацию о версии плагина и так далее
Получает массив валидных сертификатов. По умолчанию берет сертификаты с носителей ЭП, если значение флага false, то берет из локального хранилища пользователя.
Получает сертификат по thumbprint значению сертификата
Получает сертификат по thumbprint значению сертификата. С помощью этой функции в сертификате доступны методы для парсинга информации о сертификате
Подписать строку в формате base64
Подписать строку в формате XML
Возвращает распаршенную информацию о строке subjectInfo
Возвращает распаршенную информацию о строке issuerInfo
Возвращает распаршенную информацию об объекте validPeriod
Функция формирует ключи и значения в зависимости от переданного параметра Доступные параметры 'subjectInfo' и 'issuerInfo'
Формирует дату от переданного параметра
Прозиводит проверку на валидность сертификата
import ccpa from 'cadesplugin-crypto-pro-api';
/**
* @async
* @function doCertsList
* @param {Boolean} fromContainer флаг, определяющий источник сертификата. По умолчанию - с носителя
* @description формирует массив сертификатов с оригинальными значениями
*/
async function doCertsList(fromContainer = true) {
const certsApi = await ccpa;
const certsList = await certsApi.getCertsList(fromContainer);
return certsList;
}
/**
* @async
* @function doFriendlyCustomCertsList
* @param {Boolean} fromContainer флаг, определяющий источник сертификата. По умолчанию - с носителя
* @description формирует массив сертификатов с кастомными полями
*/
async function doFriendlyCustomCertsList(fromContainer = true) {
const certsApi = await ccpa;
const certsList = await certsApi.getCertsList(fromContainer);
const friendlyCertsList = certsList.map(cert => {
const friendlySubjectInfo = cert.friendlySubjectInfo();
const friendlyIssuerInfo = cert.friendlyIssuerInfo();
const friendlyValidPeriod = cert.friendlyValidPeriod();
const {
to: { ddmmyy, hhmmss }
} = friendlyValidPeriod;
return {
subjectInfo: friendlySubjectInfo,
issuerInfo: friendlyIssuerInfo,
validPeriod: friendlyValidPeriod,
thumbprint: cert.thumbprint,
title: `${
friendlySubjectInfo.filter(el => el.value === 'Владелец')[0].text
}. Сертификат действителен до: ${ddmmyy} ${hhmmss}`
};
});
}
MIT