Добрый день.
Хочу подписать документ (не типовой) - подписание выполняю следующим кодом:
Возвращается ошибка (на сервере нет эцп), что как бы логично - отсюда вопрос, как подписать на "клиенте"?
Хочу подписать документ (не типовой) - подписание выполняю следующим кодом:
Успех=ЭлектроннаяПодписьСлужебныйВызовСервера.ВыполнитьНаСторонеСервера(ПараметрыДляСервера, АдресРезультата, Истина, ОшибкаНаСервере);
Возвращается ошибка (на сервере нет эцп), что как бы логично - отсюда вопрос, как подписать на "клиенте"?
По теме из базы знаний
- Алкогольная декларация для 1С 8.1, 8.2, 8.3 (1, 2, 3, 4, 5, 6, 7, 8 формы) УТ10.2/10.3, УТ11, УПП, КА, БП2.0/3.0, БП КОРП, Розница 1.0/2.1, Далион, Астор, УТАП и др. с подписью и шифрованием, редакция 2.3
- 1С:Бухгалтерия птицефабрики
- ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll
- Настройка сканера для маркировки обуви в УТ 10.3 по RDP
- Визуализация электронной подписи на документе Adobe PDF с указанием положения
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7)
Функция возвращает подписанные данные.
Как такое же сделать типовым функционалом?
// bDetached - Истина/Ложь - откреплённая(для подписания документов)/прикреплённая подпись
Функция CADESCOM_ПодписатьТекст(ТекстДляПодписи, ОтпечатокСертификата, bDetached, ЗашифроватьBase64=Истина) Экспорт
CADESCOM_CADES_TYPE=1; // Тип усовершенствованной подписи
CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME=0; // Атрибут штампа времени подписи
oSigningTimeAttr=Новый COMОбъект("CAdESCOM.CPAttribute");
oSigningTimeAttr.Name=CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
oSigningTimeAttr.Value=ТекущаяДата();
// Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи.
oSigner=Новый COMОбъект("CAdESCOM.CPSigner");
oSigner.Certificate=CADESCOM_СертификатПоОтпечатку(ОтпечатокСертификата);
oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr);
// Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
oSignedData=Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding=1; // Входные данные пришли в Base64;
oSignedData.Content=СокрЛП(ТекстДляПодписи);
// Метод добавляет к сообщению усовершенствованную подпись.
Возврат oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, 0); // Подпись в формате Base64
КонецФункции
ПоказатьФункция возвращает подписанные данные.
Как такое же сделать типовым функционалом?
Парам = Новый Структура;
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("Данные", Файл);
ОписаниеДанных.Вставить("Операция", "Подписание");
ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание документа");
ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,Новый ОписаниеОповещения("ПослеПодписанияДокумента", ЭтотОбъект, Парам));
Показать&НаКлиенте
Процедура ПослеПодписанияДокумента(Результат, Параметры) Экспорт
действия с подписанным документом....
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот