Работа с криптографией в Web клиенте

1. Derushev 10 30.11.21 13:51 Сейчас в теме
Доброго дня, уважаемые специалисты, коллеги!

Бьюсь с проблемой второй день, зашел в тупик. Пытаюсь подписать файл web-клиенте 1С.
МенеджерКриптографии и список сертификатов получить удалось, а вот подписать нет. Может кто подскажет, что я делаю не так?
Код, которым подписываю файл:
&НаКлиенте
Процедура ПодписаниеЗавершение(ПодписанныйФайл, ДополнительныеПараметры)   

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

&НаКлиенте
Процедура ИнициализацияЗавершениеПодпись(Менеджер, ДополнительныеПараметры) 
	
    Оповещение = Новый ОписаниеОповещения("ПослеПодписания",ЭтотОбъект, ДополнительныеПараметры);
	//Менеджер.ПарольДоступаКЗакрытомуКлючу = "1234567890";
    Менеджер.НачатьПодписывание(Оповещение,ДополнительныеПараметры.ИсходныйФайл, ДополнительныеПараметры.Сертификат);
	
КонецПроцедуры


&НаКлиенте
Процедура ПодписатьФайл()
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ПодписанныйФайл", ПутьКФайлу+".sig");
	ДополнительныеПараметры.Вставить("ИсходныйФайл", ПутьКФайлу);
	ДополнительныеПараметры.Вставить("Сертификат", СписокНайденныхСертификатов[0].Значение);
	ОписаниеОповещения = Новый ОписаниеОповещения("ПодписаниеЗавершение", ЭтотОбъект, ДополнительныеПараметры);
	ДополнительныеПараметры.Вставить("ОповещениеЗавершения", ОписаниеОповещения);
	ОбратныйВызов = Новый ОписаниеОповещения("ИнициализацияЗавершениеПодпись", ЭтотОбъект, ДополнительныеПараметры);
    Криптография = Новый МенеджерКриптографии;	
    Криптография.НачатьИнициализацию(ОбратныйВызов, "", "", 75,ИспользованиеИнтерактивногоРежимаКриптографии.Использовать);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеПодписания(ДанныеПодписи,ДополнительныеПараметры) Экспорт
	
	ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения,ДополнительныеПараметры.Сертификат);
	
КонецПроцедуры

Показать


В результате выдает, "Ошибка при получении контекста модуля криптографии".
Пытался передать пароль закрытого ключа в менеджер криптографии (при этом отключая интерактивный режим) - все так же.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
9. Derushev 10 20.12.21 15:37 Сейчас в теме +5 $m
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 30.11.21 14:37 Сейчас в теме
(1)
Криптография.НачатьИнициализацию(ОбратныйВызов, "", "", 75

Где имя модуля криптографии, где путь?
Имя модуля криптографии - это обязательный параметр.
Путь - обязательный, если ОС - Linux.

Судя по типу 75, имя должно быть "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
3. Derushev 10 30.11.21 15:47 Сейчас в теме
Точно, в справке так и написано) Я пробовал и с указанием и без.
Инициализация менеджера проходит без ошибок. И список сертификатов я получаю без указания имени модуля.
https://its.1c.ru/db/v8313doc#bookmark:dev:TI000001508 - здесь показан пример без указания имени модуля.
4. mondordom 02.12.21 14:51 Сейчас в теме
А ничего, что ПодписаниеЗавершение() и ИнициализацияЗавершениеПодпись() объявлены без "Экспорт", но при этом являются обработчиками оповещений?
6. Derushev 10 03.12.21 08:10 Сейчас в теме
(4)
ПодписаниеЗавершение

Извините, Экспорт в коде написан, здесь почему то без... торопился при оформлении.
Актуальный код:

&НаКлиенте
Процедура ПодписаниеЗавершение(ПодписанныйФайл, ДополнительныеПараметры) Экспорт
	
	
	
КонецПроцедуры

&НаКлиенте
Процедура ИнициализацияЗавершениеПодпись(Менеджер, ДополнительныеПараметры) Экспорт
	
	Оповещение = Новый ОписаниеОповещения("ПослеПодписания", ЭтаФорма, ДополнительныеПараметры);
	//Менеджер.ПарольДоступаКЗакрытомуКлючу = "1234567890";
	Менеджер.НачатьПодписывание(Оповещение,ДополнительныеПараметры.ИсходныйФайл, ДополнительныеПараметры.ПодписанныйФайл, ДополнительныеПараметры.Сертификат);
	
КонецПроцедуры


&НаКлиенте
Процедура ПослеПодписания(ИмяФайла,ДополнительныеПараметры) Экспорт
	
	ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения,ЭтотОбъект);
	
КонецПроцедуры


&НаКлиенте
Процедура ПодписатьФайл()
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ПодписанныйФайл", ПутьКФайлу+".sig");
	ДополнительныеПараметры.Вставить("ИсходныйФайл", ПутьКФайлу);
	ДополнительныеПараметры.Вставить("Сертификат", СписокНайденныхСертификатов[0].Значение);
	ОписаниеОповещения = Новый ОписаниеОповещения("ПодписаниеЗавершение", ЭтотОбъект, ДополнительныеПараметры);
	ДополнительныеПараметры.Вставить("ОповещениеЗавершения", ОписаниеОповещения);
	ОбратныйВызов = Новый ОписаниеОповещения("ИнициализацияЗавершениеПодпись", ЭтотОбъект, ДополнительныеПараметры);
	Криптография = Новый МенеджерКриптографии;	
	Криптография.НачатьИнициализацию(ОбратныйВызов, "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider", "", 75, ИспользованиеИнтерактивногоРежимаКриптографии.Использовать);
	
КонецПроцедуры


&НаКлиенте
Процедура Подписать(Команда)
	
	ПодписатьФайл();
	
КонецПроцедуры

Показать
7. Derushev 10 03.12.21 08:14 Сейчас в теме
(5)
КриптоПро установлено, установлен их плагин. Кроме того, при при подключении Менеджера криптографии платформа выплевывает свое расширение 1CCryptoExtensionChrFFSetup (метод НачатьУстановкуРасширенияРаботыСКриптографией()). Оно тоже установлено.
8. user790004 16.12.21 10:05 Сейчас в теме
Если в качестве ключевого носителя используется ruToken - пароль по умолчанию 12345678, если eToken - 1234567890
9. Derushev 10 20.12.21 15:37 Сейчас в теме +5 $m
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

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

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

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