Конфигурация Бух. 2.0 обычные формы.
Платформа 8.3.15
Цель - подписать документ сертификатом, который хранится в справочнике "ПользователиИСЭСФ" в реквизите "СертификатАутентификации" с типом ХранилищеЗначений.
Нашел общий модуль с функцией, которую хотел применить:
ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(
МенеджерКриптографии,
ОбъектДляПодписиСсылка,
ДвоичныеДанные,
СтруктураПараметровПодписи) Экспорт
Прошу сориентируйте, где не корректно указываю данные:
Платформа 8.3.15
Цель - подписать документ сертификатом, который хранится в справочнике "ПользователиИСЭСФ" в реквизите "СертификатАутентификации" с типом ХранилищеЗначений.
Нашел общий модуль с функцией, которую хотел применить:
ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(
МенеджерКриптографии,
ОбъектДляПодписиСсылка,
ДвоичныеДанные,
СтруктураПараметровПодписи) Экспорт
Прошу сориентируйте, где не корректно указываю данные:
Пароль = Объект.Сертификат.ПарольАутентификации;
МК = Новый МенеджерКриптографии("Microsoft Enhanced Cryptographic Provider v1.0", "", 1);
АдресСертификата = ПоместитьВоВременноеХранилище(Объект.Сертификат.СертификатАутентификации, УникальныйИдентификатор);
ДвоичныеДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата);
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата); //Ошибка Несоответсвие типов (параметр номер 1)
Структура = Новый Структура("Сертификат, Пароль, Комментарий", Сертификат, Пароль, "");
ДанныеПодписи = ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(МК, Объект.Ссылка, ДвоичныеДанныеСертификата, Структура);
НоваяЗаписьПодпись = ДанныеПодписи.НоваяПодписьДвоичныеДанные;
ПоказатьПо теме из базы знаний
- Универсальный передаточный документ для Управление торговлей релиза 10.3.21.1 (бета для УТ 10.3.30.2) - печатная форма 2 в 1 альтернатива счету фактуре и расходной накладной.
- Видеокурс-самоучитель "1С:Документооборот 2.1 и 3.0" для самостоятельного внедрения
- 1С-ЭДО - обмен электронными документами с контрагентами: цены от 3 000 руб.
- Электронно-цифровая подпись для внутреннего документооборота
- 1С-ЭДО: внутренний и внешний документооборот в типовых учетных решениях 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ПараметрыCMS = ЭлектроннаяПодпись.ПараметрыCMS();
МенеджерКриптографии = ЭлектроннаяПодпись.МенеджерКриптографии("Подписание", Ложь);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "ПаРолЬ";
РезультатПодписания = ЭлектроннаяПодписьСлужебный.Подписать(
"ЧтоПодписываемСтрокой",
ПараметрыCMS,
ЭлектроннаяПодписьСлужебный.ПолучитьСертификатПоОтпечатку(СертификатыКлючейЭлектроннойПодписиИШифрования.Отпечаток, Истина, Ложь),
МенеджерКриптографии);
Показать
(7) Да не та строка, конечно. Доработал и получил нужный сертификат!))
Пароль = Объект.Сертификат.ПарольАутентификации;
МК = Новый МенеджерКриптографии("Microsoft Enhanced Cryptographic Provider v1.0", "", 1);
ДвоичныеДанныеСертификата = Base64Значение(Объект.Сертификат.СертификатАутентификации.Получить()); //получить из хранилища
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата);
Структура = Новый Структура("Сертификат, Пароль, Комментарий", Сертификат, Пароль, "");
ДанныеПодписи = ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(МК, Объект.Ссылка, ДвоичныеДанныеСертификата, Структура);
НоваяЗаписьПодпись = ДанныеПодписи.НоваяПодписьДвоичныеДанные;
Показать
(10)Т.к. не известно где это будет запускаться, то хотелось бы если возможно получить провайдера программно.
Пытаюсь применить для этого общ. функ-ю
ЭлектроннаяЦифроваяПодпись.ПолучитьПерсональныеНастройкиРаботыСЭЦПСервер()
в которой помимо прочего провайдер должен браться из константы:
но у меня в конф-и такой константы нет, поээтому использовать не получилось(((
Пытаюсь применить для этого общ. функ-ю
ЭлектроннаяЦифроваяПодпись.ПолучитьПерсональныеНастройкиРаботыСЭЦПСервер()
в которой помимо прочего провайдер должен браться из константы:
...
ПровайдерЭЦП = Константы.ПровайдерЭЦП.Получить();
...
но у меня в конф-и такой константы нет, поээтому использовать не получилось(((
(13)Нет, не троль. Дело в том что никогда не занимался подписями. А сейчас есть задача, которую пытаюсь решить. Готового примера у меня нет, вот и приходится отовсюду надергать куски и пробовать. Понятно что каша от этого получается, Подскажите если знаете как правильно получать подписи?
(4)Попробовал такую конструкцию
Получил ошибку:Ошибка при создании контекста сертификата.
ДанныеВBase64 = XMLСтрока(Объект.Сертификат.СертификатАутентификации); // Получим Base64 хранилища значения
ДвоичныеДанныеСертификата = Base64Значение(ДанныеВBase64);
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата);
Получил ошибку:Ошибка при создании контекста сертификата.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот