APB.DocumentSigner – это плагин, который поддерживает электронную подпись документов с использованием одного или нескольких пользовательских сертификатов через браузер.
СкачатьПоддерживает электронную подпись документов XML следующих форматов:
Позволяет управлять размером и расположением графических подписей на страницах PDF документов.
Легко интегрируется с браузерами Google Chrome, Mozila FireFox, Opera и Microsoft Edge Chromium.
Состоит из плагина и клиентского приложения. Загрузка необходимых компонентов происходит автоматически. Минимальные системные требования: Windows 7 SP1
Соответствует мировым техническим стандартам электронных подписей.
Позволяет использовать электронную подпись на любом веб-ресурсе, что решает следующие задачи:
Возможные сферы применения плагина:
установите плагин для браузера
Установитьплагин и компонент не готовы к работе
ПримерыДля корректной работы компонента и плагина должен быть установлен .Net Framework 4.7.2
/*------ Подпись XML------
* Структура JSON сообщения
* {
* "source" : "адрес отправителя",
* "destination" : "адрес получателя",
* "typeDocument" : "тип документа",
* "typeOperation" : "тип операции",
* "dataBlock" : "пересылаемые приложению данные(строка данных)",
* "domainSignature" : "ключ доступа",
* ------для XML------
* "method" : "алгоритм подписи(RSAwithSHA1 / RSAwithSHA256 / RSAwithSHA512)",
* "packing" : "тип упаковки сигнатуры (ENVELOPED / ENVELOPING / INTERNALLY_DETACHED / EXTERNALLY_DETACHED / HASH_INTERNALLY_DETACHED)",
* "format" : "формат подписи (XAdES_BES / XAdES_XL / XAdES_T / XmlDsig)",
* "timeStampUri : время подписи",
* "contentUri : id узла который будет подписан"
* }
*/
var SignExtension = SignExtension || {};
SignExtension.Enum = {
//Алгоритм подписи
XmlSignMethod:{
SHA1 : 1,
SHA256 : 2,
SHA512 : 3
},
//Тип упаковки сигнатуры
XmlSignType:{
Enveloped : 1,
Enveloping : 2,
InternallyDetached : 3,
ExternallyDetached: 4,
HashInternallyDetached: 5
},
//Формат подписи
XmlSignFormat:{
XAdES_BES : 1,
XAdES_XL : 2,
XAdES_T : 3,
XmlDsig : 4
},
//Тип операции
TypeOperation:{
//Проверка подписи документа
Verify: 2,
//Ошибка, ответ приходит от плагина
Error: 3,
//Доступ, ответ приходит от плагина
Access: 5,
//Проверка, если плагин установлен. Возвращяет статусы:
//STATE: need update - необходимо обновить компоненты
//STATE: success - компоненты установлены, версии плагина и компонент совпадают
//STATE: not exist - компоненты не установлены
IsExist: 6,
//Авторизация клиента
Autorization: 7,
//подпись документа
SignDocument: 8
},
//тип документа
TypeDocument:{
XML: 1,
PDF: 2
},
//идентификатор плагина
ExtensionIdFireFox: '{B01F58C6-F424-4711-9260-231A12BBEFE5}',
ExtensionIdChrome: 'oaphoginhonideopfonmfckckbejlknn'
};
//-----------------------------------------------------------
//ключ доступа(Здесь следует указать ключ доступа к функциям плагина)
const KEY_SIGNATURE='CvPk0Lxu77F/HWld4ukn2ATN7nZE1N+HJ+mEV+Qu7o7NRPyHLSnyihq' +
'5Z2c27f2tef/vv6V1fn6/16R3Sg6oAHNvQ+2saPyY6Xg8J8au3A18NgNe5Uya3L/OXVU0VDoeCpP+nA' +
'PLT2ZTmD19pQtJfboLvp9D1JXcmMl3KlltykooFUsJmFl4uTxQjbbgbmu6HL27PnGv7w/QNsFBxtTIT' +
'BMD/uFQaCByNBDHaAjyz2EGgh3DWUlTaMf6bKwOVTF6cMfAgsPj7GJLBuRjSw3nqBBxv16YigdfNvfG' +
'f6wVFuu3e+g34qTKO28TrwiKWSE9Oxh0ih2n/9x8HABp7FczVQ==';
//------------------------------------------
// Браузер Mozilla FireFox
var isFirefox = typeof InstallTrigger !== 'undefined';
// Chrome Chrome
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
//----------------------------------------------------------------------------------------
/*
* отправка сообщения в запросе
* ->xmlString - xml строка
* ->fileName - имя файла без расширения
*/
function SendMessageSignXML(xmlString, fileName)
{
try
{
let message = JSON.parse('{}');
//Наименование документа
message.docName = fileName;
//адрес отправителя
message.source = window.location.href;
//тип документа
message.typeDocument = SignExtension.Enum.TypeDocument.XML;
//адрес получателя
if(isFirefox)
{
message.destination = SignExtension.Enum.ExtensionIdFireFox;
}
else
{
message.destination = SignExtension.Enum.ExtensionIdChrome;
}
//ключ доступа
message.domainSignature = KEY_SIGNATURE.toString();
//тип операции
message.typeOperation = SignExtension.Enum.TypeOperation.SignDocument;
//блок данных
message.dataBlock = xmlString;
//расширения, по которым будет выбран список сертификатов. По умолчанию плагин будет использоать расширения(1.3.6.1.4.1.52072.1.1; 1.3.6.1.4.1.52072.1.2)
// символ ';' разделяет расширение
message.searchByExtension = "1.3.6.1.4.1.50561.5.1.1; 1.3.6.1.4.1.52072.1.4";
//алгоритм подписи
message.method = SignExtension.Enum.XmlSignMethod.SHA256;
//тип упаковки сигнатуры
message.packing = SignExtension.Enum.XmlSignType.Enveloped;
//формат подписи
message.format = SignExtension.Enum.XmlSignFormat.XmlDsig;
//время подписи
//Для алгоритмов XAdES_XL, XAdES_T этот параметр является обязательным (например, http://ca.agroprombank.com/tsa или http://sha256timestamp.ws.symantec.com/sha256/timestamp)
message.timeStampUri = "";
//id узла который будет подписан. Если поле пустое, будет подписан весь документ.
message.contentUri = "";
//отправка кросдоменного запроса
window.postMessage(message,"*");
}
catch(e)
{
//отображение ошибки
alert(e.message);
// вывод исключения в консоль
console.error(e);
}
}
//получение результата от плагина
window.addEventListener('message', function (event) {
if (event.source != window)
return;
var message = event.data;
//id расширения
let ExtensionId;
if (isFirefox) {
//Firefox id
ExtensionId = SignExtension.Enum.ExtensionIdFireFox;
}
else {
//Chrome id
ExtensionId = SignExtension.Enum.ExtensionIdChrome;
}
//если есть адресс отправителя и сообщение пришло от плагина
if (message.source && message.source === ExtensionId) {
//тип операции
switch (message.typeOperation) {
//ошибка
case SignExtension.Enum.TypeOperation.Error:
{
alert('Внимание!\n' + message.dataBlock);
break;
}
//доступ
case SignExtension.Enum.TypeOperation.Access:
{
alert('Ошибка доступа!\n' + message.dataBlock);
break;
}
//проверка установленного компонента
case SignExtension.Enum.TypeOperation.IsExist:
{
alert('Проверка наличия плагина!\n' + message.dataBlock);
break;
}
//Ответ от авторизации
case SignExtension.Enum.TypeOperation.Autorization:
{
console.log('Получен ответ от Авторизации:');
console.log(message.dataBlock);
break;
}
//Ответ от подписи документа
case SignExtension.Enum.TypeOperation.SignDocument:
{
console.log('Получен ответ от Подписи:');
console.log(message);
break;
}
//Ответ от проверки подписей
case SignExtension.Enum.TypeOperation.Verify:
{
console.log('Получен ответ от Проверки подписей:');
console.log(message);
break;
}
default:
{
alert('От content получен неизвестный тип операции');
break;
}
}
}
});
/*------АВТОРИЗАЦИЯ------
* Структура JSON сообщения
* {
* "source" : "адрес отправителя",
* "destination" : "адрес получателя",
* "typeDocument" : "тип документа",
* "typeOperation" : "тип операции",
* "dataBlock" : "пересылаемые приложению данные(строка данных)",
* "domainSignature" : "ключ доступа",
* ------для XML------
* "method" : "алгоритм подписи(RSAwithSHA1 / RSAwithSHA256 / RSAwithSHA512)",
* "packing" : "тип упаковки сигнатуры (ENVELOPED / ENVELOPING / INTERNALLY_DETACHED / EXTERNALLY_DETACHED / HASH_INTERNALLY_DETACHED)",
* "format" : "формат подписи (XAdES_BES / XAdES_XL / XAdES_T / XmlDsig)",
* "timeStampUri : время подписи",
* "contentUri : id узла который будет подписан"
* }
*/
var SignExtension = SignExtension || {};
SignExtension.Enum = {
//Алгоритм подписи
XmlSignMethod:{
SHA1 : 1,
SHA256 : 2,
SHA512 : 3
},
//Тип упаковки сигнатуры
XmlSignType:{
Enveloped : 1,
Enveloping : 2,
InternallyDetached : 3,
ExternallyDetached: 4,
HashInternallyDetached: 5
},
//Формат подписи
XmlSignFormat:{
XAdES_BES : 1,
XAdES_XL : 2,
XAdES_T : 3,
XmlDsig : 4
},
//Тип операции
TypeOperation:{
//Проверка подписи документа
Verify: 2,
//Ошибка, ответ приходит от плагина
Error: 3,
//Доступ, ответ приходит от плагина
Access: 5,
//Проверка, если плагин установлен. Возвращяет статусы:
//STATE: need update - необходимо обновить компоненты
//STATE: success - компоненты установлены, версии плагина и компонент совпадают
//STATE: not exist - компоненты не установлены
IsExist: 6,
//Авторизация клиента
Autorization: 7,
//подпись документа
SignDocument: 8
},
//тип документа
TypeDocument:{
XML: 1,
PDF: 2
},
//идентификатор плагина
ExtensionIdFireFox: '{B01F58C6-F424-4711-9260-231A12BBEFE5}',
ExtensionIdChrome: 'oaphoginhonideopfonmfckckbejlknn'
};
//-----------------------------------------------------------
//ключ доступа(Здесь следует указать ключ доступа к функциям плагина)
const KEY_SIGNATURE='CvPk0Lxu77F/HWld4ukn2ATN7nZE1N+HJ+mEV+Qu7o7NRPyHLSnyihq' +
'5Z2c27f2tef/vv6V1fn6/16R3Sg6oAHNvQ+2saPyY6Xg8J8au3A18NgNe5Uya3L/OXVU0VDoeCpP+nA' +
'PLT2ZTmD19pQtJfboLvp9D1JXcmMl3KlltykooFUsJmFl4uTxQjbbgbmu6HL27PnGv7w/QNsFBxtTIT' +
'BMD/uFQaCByNBDHaAjyz2EGgh3DWUlTaMf6bKwOVTF6cMfAgsPj7GJLBuRjSw3nqBBxv16YigdfNvfG' +
'f6wVFuu3e+g34qTKO28TrwiKWSE9Oxh0ih2n/9x8HABp7FczVQ==';
//------------------------------------------
// Браузер Mozilla FireFox
var isFirefox = typeof InstallTrigger !== 'undefined';
// Chrome Chrome
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
//----------------------------------------------------------------------------------------
/*
* отправка сообщения в запросе
* ->data - строка с данными(например guid: {ACEE0F0D-061A-4A21-A30A-ACA3CCF6FB9D})
*/
function SendMessageAutorization(data)
{
try
{
let message = JSON.parse('{}');
//адрес отправителя
message.source = window.location.href;
//тип документа
message.typeDocument = SignExtension.Enum.TypeDocument.XML;
//адрес получателя
if(isFirefox)
{
message.destination = SignExtension.Enum.ExtensionIdFireFox;
}
else
{
message.destination = SignExtension.Enum.ExtensionIdChrome;
}
//ключ доступа
message.domainSignature = KEY_SIGNATURE.toString();
//тип операции
message.typeOperation = SignExtension.Enum.TypeOperation.Autorization;
//тип документа
message.typeDocument = SignExtension.Enum.TypeDocument.XML;
//алгоритм подписи
message.method = SignExtension.Enum.XmlSignMethod.SHA256;
//тип упаковки
message.packing = SignExtension.Enum.XmlSignType.Enveloped;
//формат подписи
message.format = SignExtension.Enum.XmlSignFormat.XAdES_BES;
//время подписи
message.timeStampUri = "";
//id узла который будет подписан
message.contentUri = "";
message.dataBlock = data;
window.postMessage(message, "*");
}
catch(e)
{
//отображение ошибки
alert(e.message);
// вывод исключения в консоль
console.error(e);
}
}
//получение результата от плагина
window.addEventListener('message', function (event) {
if (event.source != window)
return;
var message = event.data;
//id расширения
let ExtensionId;
if (isFirefox) {
//Firefox id
ExtensionId = SignExtension.Enum.ExtensionIdFireFox;
}
else {
//Chrome id
ExtensionId = SignExtension.Enum.ExtensionIdChrome;
}
//если есть адресс отправителя и сообщение пришло от плагина
if (message.source && message.source === ExtensionId) {
//тип операции
switch (message.typeOperation) {
//ошибка
case SignExtension.Enum.TypeOperation.Error:
{
alert('Внимание!\n' + message.dataBlock);
break;
}
//доступ
case SignExtension.Enum.TypeOperation.Access:
{
alert('Ошибка доступа!\n' + message.dataBlock);
break;
}
//проверка установленного компонента
case SignExtension.Enum.TypeOperation.IsExist:
{
alert('Проверка наличия плагина!\n' + message.dataBlock);
break;
}
//Ответ от авторизации
case SignExtension.Enum.TypeOperation.Autorization:
{
console.log('Получен ответ от Авторизации:');
console.log(message.dataBlock);
break;
}
//Ответ от подписи документа
case SignExtension.Enum.TypeOperation.SignDocument:
{
console.log('Получен ответ от Подписи:');
console.log(message);
break;
}
//Ответ от проверки подписей
case SignExtension.Enum.TypeOperation.Verify:
{
console.log('Получен ответ от Проверки подписей:');
console.log(message);
break;
}
default:
{
alert('От content получен неизвестный тип операции');
break;
}
}
}
});
/*------ Подпись PDF------
* Структура JSON сообщения
* {
* "source" : "адрес отправителя",
* "destination" : "адрес получателя",
* "typeDocument" : "тип документа",
* "typeOperation" : "тип операции",
* "dataBlock" : "пересылаемые приложению данные(строка данных)",
* "domainSignature" : "ключ доступа",
* ------для PDF------
* "startX" : "координаты по оси Х",
* "startY" : "координаты по оси Y",
* "height" : "высота",
* "width" : "ширина",
* "pageNumber" : "номер страницы"
* }
*/
var SignExtension = SignExtension || {};
SignExtension.Enum = {
//Тип операции
TypeOperation:{
//Проверка подписи документа
Verify: 2,
//Ошибка, ответ приходит от плагина
Error: 3,
//Доступ, ответ приходит от плагина
Access: 5,
//Проверка, если плагин установлен. Возвращяет статусы:
//STATE: need update - необходимо обновить компоненты
//STATE: success - компоненты установлены, версии плагина и компонент совпадают
//STATE: not exist - компоненты не установлены
IsExist: 6,
//Авторизация клиента
Autorization: 7,
//подпись документа
SignDocument: 8
},
//тип документа
TypeDocument:{
XML: 1,
PDF: 2
},
//идентификатор плагина
ExtensionIdFireFox: '{B01F58C6-F424-4711-9260-231A12BBEFE5}',
ExtensionIdChrome: 'oaphoginhonideopfonmfckckbejlknn'
};
//-----------------------------------------------------------
//ключ доступа(Здесь следует указать ключ доступа к функциям плагина)
const KEY_SIGNATURE='CvPk0Lxu77F/HWld4ukn2ATN7nZE1N+HJ+mEV+Qu7o7NRPyHLSnyihq' +
'5Z2c27f2tef/vv6V1fn6/16R3Sg6oAHNvQ+2saPyY6Xg8J8au3A18NgNe5Uya3L/OXVU0VDoeCpP+nA' +
'PLT2ZTmD19pQtJfboLvp9D1JXcmMl3KlltykooFUsJmFl4uTxQjbbgbmu6HL27PnGv7w/QNsFBxtTIT' +
'BMD/uFQaCByNBDHaAjyz2EGgh3DWUlTaMf6bKwOVTF6cMfAgsPj7GJLBuRjSw3nqBBxv16YigdfNvfG' +
'f6wVFuu3e+g34qTKO28TrwiKWSE9Oxh0ih2n/9x8HABp7FczVQ==';
//------------------------------------------
// Браузер Mozilla FireFox
var isFirefox = typeof InstallTrigger !== 'undefined';
// Chrome Chrome
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
//----------------------------------------------------------------------------------------
/*
* отправка сообщения в запросе
* ->base64Data - данные файла в формате base64
* ->fileName - имя файла без расширения
*/
function SendMessageSignPDF(base64Data, fileName)
{
let message = JSON.parse('{}');
//Наименование документа
message.docName = fileName;
//адрес отправителя
message.source = window.location.href;
//тип документа
message.typeDocument = SignExtension.Enum.TypeDocument.PDF;
//адрес получателя
if(isFirefox)
{
message.destination = SignExtension.Enum.ExtensionIdFireFox;
}
else
{
message.destination = SignExtension.Enum.ExtensionIdChrome;
}
//ключ доступа
message.domainSignature = KEY_SIGNATURE.toString();
//тип операции
message.typeOperation = SignExtension.Enum.TypeOperation.SignDocument;
try
{
//Если по умолчанию координаты, высота и ширина не заданы, плагин будет подписывать документ по умолчанию (левый нижний угол).
//Последующие подписи будут автоматически ставиться после предыдущих.
//координаты по оси Х.
message.startX = '';
//координаты по оси Y
message.startY = '';
//высота
message.height = '';
//ширина
message.width = '';
//номер страницы. По умолчанию 0 - подпись будет отображаться на последней странице
message.pageNumber = 0;
//если есть заголовок "data:application/pdf;base64,..." удаляем его
message.dataBlock = base64Data.substr(base64Data.indexOf(',') + 1);
//отправка сообщения
window.postMessage(message,"*");
}
catch(e)
{
//отображение ошибки
alert(e.message);
// вывод исключения в консоль
console.error(e);
}
}
//получение результата от плагина
window.addEventListener('message', function (event) {
if (event.source != window)
return;
var message = event.data;
//id расширения
let ExtensionId;
if (isFirefox) {
//Firefox id
ExtensionId = SignExtension.Enum.ExtensionIdFireFox;
}
else {
//Chrome id
ExtensionId = SignExtension.Enum.ExtensionIdChrome;
}
//если есть адресс отправителя и сообщение пришло от плагина
if (message.source && message.source === ExtensionId) {
//тип операции
switch (message.typeOperation) {
//ошибка
case SignExtension.Enum.TypeOperation.Error:
{
alert('Внимание!\n' + message.dataBlock);
break;
}
//доступ
case SignExtension.Enum.TypeOperation.Access:
{
alert('Ошибка доступа!\n' + message.dataBlock);
break;
}
//проверка установленного компонента
case SignExtension.Enum.TypeOperation.IsExist:
{
alert('Проверка наличия плагина!\n' + message.dataBlock);
break;
}
//Ответ от авторизации
case SignExtension.Enum.TypeOperation.Autorization:
{
console.log('Получен ответ от Авторизации:');
console.log(message.dataBlock);
break;
}
//Ответ от подписи документа
case SignExtension.Enum.TypeOperation.SignDocument:
{
console.log('Получен ответ от Подписи:');
console.log(message);
break;
}
//Ответ от проверки подписей
case SignExtension.Enum.TypeOperation.Verify:
{
console.log('Получен ответ от Проверки подписей:');
console.log(message);
break;
}
default:
{
alert('От content получен неизвестный тип операции');
break;
}
}
}
});
/*----------- Проверка подписи -------
* Структура JSON сообщения
* {
* "source" : "адрес отправителя",
* "destination" : "адрес получателя",
* "typeDocument" : "тип документа",
* "typeOperation" : "тип операции",
* "dataBlock" : "пересылаемые приложению данные(строка данных)",
* "domainSignature" : "ключ доступа",
* }
*/
var SignExtension = SignExtension || {};
SignExtension.Enum = {
//Тип операции
TypeOperation:{
//Проверка подписи документа
Verify: 2,
//Ошибка, ответ приходит от плагина
Error: 3,
//Доступ, ответ приходит от плагина
Access: 5,
//Проверка, если плагин установлен. Возвращяет статусы:
//STATE: need update - необходимо обновить компоненты
//STATE: success - компоненты установлены, версии плагина и компонент совпадают
//STATE: not exist - компоненты не установлены
IsExist: 6,
//Авторизация клиента
Autorization: 7,
//подпись документа
SignDocument: 8
},
//тип документа
TypeDocument:{
XML: 1,
PDF: 2
},
//идентификатор плагина
ExtensionIdFireFox: '{B01F58C6-F424-4711-9260-231A12BBEFE5}',
ExtensionIdChrome: 'oaphoginhonideopfonmfckckbejlknn'
};
//-----------------------------------------------------------
//ключ доступа(Здесь следует указать ключ доступа к функциям плагина)
const KEY_SIGNATURE='CvPk0Lxu77F/HWld4ukn2ATN7nZE1N+HJ+mEV+Qu7o7NRPyHLSnyihq' +
'5Z2c27f2tef/vv6V1fn6/16R3Sg6oAHNvQ+2saPyY6Xg8J8au3A18NgNe5Uya3L/OXVU0VDoeCpP+nA' +
'PLT2ZTmD19pQtJfboLvp9D1JXcmMl3KlltykooFUsJmFl4uTxQjbbgbmu6HL27PnGv7w/QNsFBxtTIT' +
'BMD/uFQaCByNBDHaAjyz2EGgh3DWUlTaMf6bKwOVTF6cMfAgsPj7GJLBuRjSw3nqBBxv16YigdfNvfG' +
'f6wVFuu3e+g34qTKO28TrwiKWSE9Oxh0ih2n/9x8HABp7FczVQ==';
//------------------------------------------
// Браузер Mozilla FireFox
var isFirefox = typeof InstallTrigger !== 'undefined';
// Chrome Chrome
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
//----------------------------------------------------------------------------------------
/*
* отправка сообщения в запросе
* ->data - загруженный документ в формате base64(документ PDF)/ xml строка (документ xml)
* ->typeDocument - SignExtension.Enum.TypeDocument.PDF (тип документа pdf)/SignExtension.Enum.TypeDocument.XML(тип документа xml)
*/
function SendMessageVerify(data, typeDocument)
{
let message = JSON.parse('{}');
//адрес отправителя
message.source = window.location.href;
//тип документа
message.typeDocument = typeDocument;
//адрес получателя
if(isFirefox)
{
message.destination = SignExtension.Enum.ExtensionIdFireFox;
}
else
{
message.destination = SignExtension.Enum.ExtensionIdChrome;
}
//ключ доступа
message.domainSignature = KEY_SIGNATURE.toString();
//тип операции
message.typeOperation = SignExtension.Enum.TypeOperation.Verify;
try
{
//тип документа PDF
if(typeDocument === SignExtension.Enum.TypeDocument.PDF )
{
message.dataBlock = data.substr(data.indexOf(',') + 1);
}
//тип документа XML
else if(typeDocument === SignExtension.Enum.TypeDocument.XML)
{
message.dataBlock = data;
}
//отправка сообщения
window.postMessage(message,"*");
}
catch(e)
{
//отображение ошибки
alert(e.message);
// вывод исключения в консоль
console.error(e);
}
}
//получение результата от плагина
window.addEventListener('message', function (event) {
if (event.source != window)
return;
var message = event.data;
//id расширения
let ExtensionId;
if (isFirefox) {
//Firefox id
ExtensionId = SignExtension.Enum.ExtensionIdFireFox;
}
else {
//Chrome id
ExtensionId = SignExtension.Enum.ExtensionIdChrome;
}
//если есть адресс отправителя и сообщение пришло от плагина
if (message.source && message.source === ExtensionId) {
//тип операции
switch (message.typeOperation) {
//ошибка
case SignExtension.Enum.TypeOperation.Error:
{
alert('Внимание!\n' + message.dataBlock);
break;
}
//доступ
case SignExtension.Enum.TypeOperation.Access:
{
alert('Ошибка доступа!\n' + message.dataBlock);
break;
}
//проверка установленного компонента
case SignExtension.Enum.TypeOperation.IsExist:
{
alert('Проверка наличия плагина!\n' + message.dataBlock);
break;
}
//Ответ от авторизации
case SignExtension.Enum.TypeOperation.Autorization:
{
console.log('Получен ответ от Авторизации:');
console.log(message.dataBlock);
break;
}
//Ответ от подписи документа
case SignExtension.Enum.TypeOperation.SignDocument:
{
console.log('Получен ответ от Подписи:');
console.log(message);
break;
}
//Ответ от проверки подписей
case SignExtension.Enum.TypeOperation.Verify:
{
console.log('Получен ответ от Проверки подписей:');
console.log(message);
break;
}
default:
{
alert('От content получен неизвестный тип операции');
break;
}
}
}
});