БСП Электронная подпись двоичных данных

1. CrazyBee 4 24.08.22 10:46 Сейчас в теме
Доброго дня, на клиенте вызываю стандартную БСП процедуру для подписания ХМЛ файла, который заранее был помещен в адрес временнего хранилище.



&НаКлиенте
Процедура ПодписатьЭП(Команда)
	
	ОбработкаРезультата = Новый ОписаниеОповещения("ПослеПодписанияДанных", ЭтотОбъект);
	
	ОписаниеДанных = Новый Структура;
	ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных");
	ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " + ИмяФайла);
	ОписаниеДанных.Вставить("Данные", АдресВременнегоХранилище);

	ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата);

КонецПроцедуры

Показать



После подписания перехожу в оповещение ОбработкаРезультата, но не вижу подписанные данные.


&НаКлиенте
Процедура ПослеПодписанияДанных(Результат, ДополнительныеПараметры) Экспорт
	
	ВремФайл = ПолучитьИмяВременногоФайла("XML");
	
	Данные = Результат.Данные;
	
	ДД = ПолучитьИзВременногоХранилища(Данные);
	
	дд.Записать(ВремФайл);
	
	
КонецПроцедуры

Показать



Как вообще это делается и возможно ли подписать данным способом?
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
10. ishelper 24.08.22 14:42 Сейчас в теме
(1)
вызываю стандартную БСП процедуру для подписания ХМЛ файла, который заранее был помещен в адрес временнего хранилище.
А ничего, что во временном хранилище может быть несколько файлов? И не только файлов...

Или "умная 1С" должна сама в этом разобраться?
возможно ли подписать данным способом?
ИМХО, если и возможно, то обращаться надо к файлу (конкретному!), а не ко временному хранилищу в целом - там может быть винегрет.
2. laperuz 45 24.08.22 10:47 Сейчас в теме
Криптопро/випнет стоят, сертификат установлен/запрашивается у пользователя?
3. CrazyBee 4 24.08.22 10:54 Сейчас в теме
(2) Сертификат установлен и выбирается пользователем, после подписания переходит в обработчик ПослеПодписанияДанных, в котором в параметре Результат указан успех. Как мне получить обратно подписанный ХМЛ?
4. laperuz 45 24.08.22 11:23 Сейчас в теме
(3)Речь о XMLDSig? Или в каком виде вы хотите подписанный документ получать? Сама подпись доступна через Результат.СвойстваПодписи.Подпись
5. CrazyBee 4 24.08.22 11:36 Сейчас в теме
(4) Да, в результате я хочу получить XML файл, соответствующему консорциуму W3C. А конкретно внутри через XMLDSIG.

ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
6. laperuz 45 24.08.22 11:48 Сейчас в теме
(5) Тогда примерно так:

ОбработкаРезультата = Новый ОписаниеОповещения("ПослеПодписанияДанных", ЭтаФорма);
	
	СтруктураПодписи = Новый Структура("Конверт,ПараметрыXMLDSig");                 

	ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML();
	ПараметрыКонверта.СообщениеXML = "<test></test>";
	
	СтруктураПодписи.Конверт = ЭлектроннаяПодписьКлиент.КонвертXML(ПараметрыКонверта);
	СтруктураПодписи.ПараметрыXMLDSig = ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig();

	
    ОписаниеДанных = Новый Структура;
    ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных");
    ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " );
    ОписаниеДанных.Вставить("Данные", СтруктураПодписи);

    ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата);
Показать


В ПараметрыКонверта.СообщениеXML передаете свой XML. Конверт, содержащий дайджест и подпись, будет в Результат.СвойстваПодписи.Подпись
7. CrazyBee 4 24.08.22 12:20 Сейчас в теме
(6) Извиняюсь, в какой версии БСП вы это реализовали?
8. CrazyBee 4 24.08.22 12:21 Сейчас в теме
(6) В возвращаемой структуре отсутствует "СвойстваПодписи"
9. laperuz 45 24.08.22 12:29 Сейчас в теме
(8)Пробовал на ЗКГУ 3.1, БСП 3.1.6.227
Оставьте свое сообщение
Вакансии
Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день