Доброго дня, на клиенте вызываю стандартную БСП процедуру для подписания ХМЛ файла, который заранее был помещен в адрес временнего хранилище.
После подписания перехожу в оповещение ОбработкаРезультата, но не вижу подписанные данные.
Как вообще это делается и возможно ли подписать данным способом?
&НаКлиенте
Процедура ПодписатьЭП(Команда)
ОбработкаРезультата = Новый ОписаниеОповещения("ПослеПодписанияДанных", ЭтотОбъект);
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных");
ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " + ИмяФайла);
ОписаниеДанных.Вставить("Данные", АдресВременнегоХранилище);
ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата);
КонецПроцедуры
ПоказатьПосле подписания перехожу в оповещение ОбработкаРезультата, но не вижу подписанные данные.
&НаКлиенте
Процедура ПослеПодписанияДанных(Результат, ДополнительныеПараметры) Экспорт
ВремФайл = ПолучитьИмяВременногоФайла("XML");
Данные = Результат.Данные;
ДД = ПолучитьИзВременногоХранилища(Данные);
дд.Записать(ВремФайл);
КонецПроцедуры
ПоказатьКак вообще это делается и возможно ли подписать данным способом?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Или "умная 1С" должна сама в этом разобраться?
вызываю стандартную БСП процедуру для подписания ХМЛ файла, который заранее был помещен в адрес временнего хранилище.
А ничего, что во временном хранилище может быть несколько файлов? И не только файлов...
Или "умная 1С" должна сама в этом разобраться?
возможно ли подписать данным способом?
ИМХО, если и возможно, то обращаться надо к файлу (конкретному!), а не ко временному хранилищу в целом - там может быть винегрет.
(5) Тогда примерно так:
В ПараметрыКонверта.СообщениеXML передаете свой XML. Конверт, содержащий дайджест и подпись, будет в Результат.СвойстваПодписи.Подпись
ОбработкаРезультата = Новый ОписаниеОповещения("ПослеПодписанияДанных", ЭтаФорма);
СтруктураПодписи = Новый Структура("Конверт,ПараметрыXMLDSig");
ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML();
ПараметрыКонверта.СообщениеXML = "<test></test>";
СтруктураПодписи.Конверт = ЭлектроннаяПодписьКлиент.КонвертXML(ПараметрыКонверта);
СтруктураПодписи.ПараметрыXMLDSig = ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig();
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных");
ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " );
ОписаниеДанных.Вставить("Данные", СтруктураПодписи);
ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата);
ПоказатьВ ПараметрыКонверта.СообщениеXML передаете свой XML. Конверт, содержащий дайджест и подпись, будет в Результат.СвойстваПодписи.Подпись
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот