0
america2013
01.04.21
✎
09:30
|
Конфигурация Бух. 2.0 обычные формы.
Платформа 8.3.15
Цель - подписать документ сертификатом, который хранится в справочнике "ПользователиИСЭСФ" в реквизите "СертификатАутентификации" с типом ХранилищеЗначений.
Нашел общий модуль с функцией, которую хотел применить:
ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(
МенеджерКриптографии,
ОбъектДляПодписиСсылка,
ДвоичныеДанные,
СтруктураПараметровПодписи) Экспорт
Прошу сориентируйте, где не корректно указываю данные:
Пароль = Объект.Сертификат.ПарольАутентификации;
МК = Новый МенеджерКриптографии("Microsoft Enhanced Cryptographic Provider v1.0", "", 1);
АдресСертификата = ПоместитьВоВременноеХранилище(Объект.Сертификат.СертификатАутентификации, УникальныйИдентификатор);
ДвоичныеДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата);
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата); //Ошибка Несоответсвие типов (параметр номер 1)
Структура = Новый Структура("Сертификат, Пароль, Комментарий", Сертификат, Пароль, "");
ДанныеПодписи = ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(МК, Объект.Ссылка, ДвоичныеДанныеСертификата, Структура);
НоваяЗаписьПодпись = ДанныеПодписи.НоваяПодписьДвоичныеДанные;
|
|
1
america2013
01.04.21
✎
09:53
|
На этапе с ошибкой
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата)
ДвоичныеДанныеСертификата=с типом Хранилище
Пробую из этого хранилища получить еще данные, получил строку каких-то символов.
Ошибка на этом же этапе изменилась на: Ошибка операции с файлом.
по причине:
Каталог не обнаружен 'MIIGQ....
Не понятно какой тип данных нужно поместить?
|
|
2
america2013
01.04.21
✎
11:28
|
Доработал код:
Пароль = Объект.Сертификат.ПарольАутентификации;
МК = Новый МенеджерКриптографии("Microsoft Enhanced Cryptographic Provider v1.0", "", 1);
ДвоичныеДанныеСертификата = Base64Значение(Объект.Сертификат.СертификатАутентификации.Получить()); //получить из хранилища
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата);
Структура = Новый Структура("Сертификат, Пароль, Комментарий", Сертификат, Пароль, "");
ДанныеПодписи = ЭлектроннаяЦифроваяПодписьКлиент.СформироватьДанныеПодписи(МК, Объект.Ссылка, ДвоичныеДанныеСертификата, Структура);
НоваяЗаписьПодпись = ДанныеПодписи.НоваяПодписьДвоичныеДанные;
Теперь при попытке из общ. функ. - Подписать() - получаю ошибку:
Сертификат отсутствует в персональном хранилище сертификатов
Предполагаю, что указал не того провайдера?
|
|