Нетиповая самописная конфигурация. Нужно документы подписывать электронной подписью. Перечитала много разрозненной информации и не могу никак собрать пазл.
Внедрила БСП электронная подпись: а как использовать? Миллион строчек кода. В сети только общие слова.
А если без БСП. Менеджер криптографии?
1. для начала нужно понять какие криптопровайдеры установлены. А как? Прочитать реестр? Застряла на RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults \Provider"). Значение естественно пусто, потому что это подраздел. EnumKey - ругается нет такого метода.
2. Считать установленные сертификаты.
3. поставить отпечаток подписи в документ и закрыть на редактирование.
Полная каша. Что делать не знаю.
Внедрила БСП электронная подпись: а как использовать? Миллион строчек кода. В сети только общие слова.
А если без БСП. Менеджер криптографии?
1. для начала нужно понять какие криптопровайдеры установлены. А как? Прочитать реестр? Застряла на RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults
2. Считать установленные сертификаты.
3. поставить отпечаток подписи в документ и закрыть на редактирование.
Полная каша. Что делать не знаю.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Процедура КнопкаВыполнитьНажатие(Кнопка)
ПараметрыCMS = ЭлектроннаяПодпись.ПараметрыCMS();
МенеджерКриптографии = ЭлектроннаяПодпись.МенеджерКриптографии("Подписание", Ложь);
МенеджерКриптографииДляПроверки = ЭлектроннаяПодпись.МенеджерКриптографии("ПроверкаПодписи", Ложь);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "пароль";
РезультатПодписания = Подписать(
Данные(БюджетнаяОперация),
ПараметрыCMS,
ЭлектроннаяПодписьСлужебный.ПолучитьСертификатПоОтпечатку(СертификатыКлючейЭлектроннойПодписиИШифрования.Отпечаток, Истина, Ложь),
МенеджерКриптографии);
РезультатПроверки = ЭлектроннаяПодписьСлужебный.ПроверитьПодписьCMS(РезультатПодписания.Подпись,
Данные(БюджетнаяОперация), ПараметрыCMS, МенеджерКриптографииДляПроверки);
КонецПроцедуры
Функция Подписать(ДанныеДляПодписания, ПараметрыCMS, СертификатКриптографии, МенеджерКриптографии) Экспорт
ВозвращаемоеЗначение = Новый Структура;
ВозвращаемоеЗначение.Вставить("Успех");
ВозвращаемоеЗначение.Вставить("Подпись");
ВозвращаемоеЗначение.Вставить("ТекстОшибки");
Попытка
Подпись = ЭлектроннаяПодписьСлужебный.ПодписатьCMS(
ДанныеДляПодписания,
ПараметрыCMS,
СертификатКриптографии, МенеджерКриптографии);
ВозвращаемоеЗначение.Успех = Истина;
ВозвращаемоеЗначение.Подпись = Подпись;
Исключение
ВозвращаемоеЗначение.Успех = Ложь;
ВозвращаемоеЗначение.ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Возврат ВозвращаемоеЗначение;
КонецФункции
Показать
Начать с уточнения требований. Если они минимальны, тогда берешь какой-нибудь openssl и вот тебе и подпись.
Требования минимальны: Поставить отпечаток подписи в документ и заблокировать от редактирования. Если отменил подпись - разблокировать.
Вот здесь есть ответы на все Ваши вопросы :-)
И формирование ЭЦП и штамп (только в PDF).
Работает в любой конфигурации. Как тонкий клиент так и веб.
И формирование ЭЦП и штамп (только в PDF).
Работает в любой конфигурации. Как тонкий клиент так и веб.
(8) Помогло. Спасибо
Один момент только, список криптопровайдеров прописан жестко в список выбора реквизита. А мне бы хотелось получать список установленных криптопровайдеров. Может на арм нет установленных криптопровайдеров.
Один момент только, список криптопровайдеров прописан жестко в список выбора реквизита. А мне бы хотелось получать список установленных криптопровайдеров. Может на арм нет установленных криптопровайдеров.
(9) Если криптопровайдера нет, то выдаст ошибку на списке сертификатов. Наверно можно в попытку обернуть и обрабатывать ошибку.
А вот список установленных криптопровайдеров я не знаю как получить :-(. В 1С такого механизма нет.
А вот список установленных криптопровайдеров я не знаю как получить :-(. В 1С такого механизма нет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот