Внедрение цифровой подписи Сбербанка Sbersign в интерфейс программ на платформе 1С: Предприятие
Sbersign — программный продукт, разработанный фирмой "ИнфоКрипт" для Сбербанка, используемый в документообороте между банком и его клиентами для подписи электронных документов, а также для управления цифровой подписью и ее проверки. Наиболее распространено использование этого программного продукта для удостоверения подписи электронных списков зачисления денежных средств на пластиковые карты. В статье рассматривается возможность интеграции функционала, предоставляемого программой, в интерфейс программ на платформах "1С Предприятие"
- Описание
- Подробнее
Описание
Подготовленные файлы документов (электронных списков в установленном Сбербанком формате) подписывают с использованием описанного программного продукта и далее отправляют по системе электронного документооборота в банк. Операция подписи документа не является сложной, но требует дополнительных действий в интерфейсе операционной системы посредством контекстного меню проводника, либо с применением командной строки.
Сами файлы, как правило, формируются из учетной программы, в обсуждаемом случае – 1С платформы 7.7 или 8.х, поэтому рассмотрим возможность интегрировать процедуру подписи, ее проверки в непосредственно в интерфейс приложения, сократив тем самым количество операций конечного пользователя.
Необходимо отметить, что ранние версии ПО Sbersign (до версии 5.1.6 ) не позволяют провести такую интеграцию. Узнать, какая версия программы используется у Вас, можно, открыв одно у из утилит в папке программы, н-р SignParam.exe. Версия видна вверху окна, в заголовке. Свежую версию пакета можно получить, например, обратившись в обслуживающее отделение Сбербанка, либо найти в Интернете. Данные для этой статьи получены с использованием версии 5.4.10.
Возможность интеграции предоставляют библиотеки программы, описанные в спецификации. Файлы WinSign.dll и SignExp.dll используются для интеграции с операционной системой.
Первый отвечает за подпись файла ЭЦП, а так же его шифрование и дешифрование. Каждой операции назначена соответствующая функция:
— SignFile — подпись файла;
— EncryptFile — шифрование файла;
— DecryptFil — дешифрование файла.
Файл SignExp.dll отвечает за проверку подписи и взаимодействие с MS Office,
Одна из его функций:
— CheckSignFile — отображает вкладку цифровой подписи свойств файла с информацией о подписи, либо сообщение, если файл не подписан.
Для использования этих функций в среде 1с Предприятия можно использовать процедуру 1с ЗапуститьПриложение(). Использование процедуры совершенно одинаково как для платформы 1с 77 так и для платформы 8.х. Для реализации в диалоге формы можно разместить кнопки, вызывающие соответствующие процедуры:
Пусть переменная ФП содержит имя обрабатываемого файла
ФП = «xxxxxxxx.xxx»
Тогда вызов процедуры с соответствующими параметрами:
Вызывает на экран окно с запросом пароля для подписи файла ЗапуститьПриложение(«rundll32.exe C:\SberSign\WinSign.dll,SignFile «+ФП);
Вызывает на экран окно шифрования файла
ЗапуститьПриложение(«rundll32.exe C:\SberSign\WinSign.dll,EncryptFile «+ФП);
Вызывает на экран окно дешифрования файла
ЗапуститьПриложение(«rundll32.exe C:\SberSign\WinSign.dll,DecryptFile x»+ФП);
Вызывает на экран вкладку «цифровая подпись» окна свойств для файла
ЗапуститьПриложение(«rundll32.exe C:\SberSign\SignExp.dll,CheckSignFile «+ФП);

