ЭЦП по ГОСТам Украины для 1С

Содержание

Проблемы использования ЭЦП в 1С по ГОСТам Украины

На сегодняшний день существует совсем небольшой выбор криптопровайдеров различных производителей, работающих по украинским ГОСТам. Они могут быть использованы в 1С 8.3 благодаря встроенным возможностям платформы. Но существует ряд ограничений в их использовании. Например, большинство из них работает только с ключами ЭЦП, выпущенными лишь одним конкретным ЦСК. Существуют ограничения и в функциональных возможностях этих программных комплексов.

ЧАО Институт информационных технологий выпустил программный комплекс шифрования и ЭЦП с богатым набором функций, который работает под любой операционной системой. Он обладает хорошо задокументированным открытым API-интерфейсом. Поэтому пользуется широкой популярностью и может использоваться в любых приложениях. Называется он "Користувач центру сертифікації ключів" (или коротко EUSign).

Этот комплекс используется приложениями, предназначенными для подачи налоговой отчетности в электронном виде в государственные органы. Например, это такие известные приложения, как "M.E.DOC IS"ПЗ "Соната" и тому подобные. Он применяется и в других сферах электронного обмена документами с государственными структурами. Например, его использует ИСПС - информационная система портового сообщества.

Но, к сожалению, использовать его непосредственно из 1С нельзя. Такие ограничения накладывает сама платформа 1С, ведь она может взаимодействовать с библиотеками, которые выполнены только по технологии внешних компонентов для 1С:Предприятия.
Для решения этой проблемы нами была разработана библиотека BilboSign. Она в себе не содержит никаких алгоритмов шифрования и ЭЦП, а является лишь прослойкой между 1С и комплексом EUSign.

Технические требования и реализация решения

Для решения нашей задачи потребовалось написать внешний компонент по технологии Native API. Это позволяет выполнять работу как на клиенте, так и на сервере 1С:Предприятия.

Основными функциями являются: подписывание данных, проверка ЭЦП, получение сведений о сертификатах. При этом используется как "внешняя", так и "внутренняя" цифровая подпись. В случае недоступности серверов ЦСК по каким-либо причинам, происходит попытка выполнить необходимые функции в автономном режиме.

Компонента использует API-интерфейс комплекса "Користувач центру сертифікації ключів". Чтобы не нарушать стабильность работы сервера 1С, компонент корректно подключается, подгружает библиотеку подписи, выполняет необходимые функции и полностью выгружается из памяти.

Программный интерфейс внешнего компонента BilboSign.dllПрограммный интерфейс компоненты BilboSign.dll

Функционал комплекса "Користувач центру сертифікації ключів" описан на сайте производителя.

Для задач формирования и проверки ЭЦП потребовалось реализовать ниже представленные функции.

По требованию заказчика этот перечень можно расширять остальным функционалом библиотеки EUSign.

Основные функцииОписание
Инициализировать Инициализация библиотеки
ЗавершитьРаботу Завершение работы с библиотекой и освобождение памяти
УстановитьРежимНастроек Установка параметров взаимодействия с серверами ЦСК
ПолучитьОписаниеОшибки

Получение локализованного описания ошибки по коду.
Языки: украинский, английский, русский

УстановитьПараметрыФайловогоХранилища Установка параметров файлового хранилища
УстановитьПараметрыПроксиСервера Установка параметров Proxy-сервера
УстановитьПараметрыOCSPСервера Установка параметров OCSP-сервера
УстановитьПараметрыTSPСервера Установка параметров TSP-сервера
УстановитьПараметрыLDAPСервера Установка параметров LDAP-сервера
УстановитьПараметрыCMPСервера Установка параметров CMP-сервера
ПрочитатьЛичныйКлючИзФайла Считывание личного ключа из файла
СформироватьВнутреннююПодпись Формирование внутренней ЭЦП (подпись находится вместе с данными)
ПроверитьВнутреннююПодпись Проверка внутренней ЭЦП
СформироватьВнешнююПодпись Формирование внешней ЭЦП (подпись находится отдельно от данных)
ПроверитьВнешнююПодпись Проверка внешней ЭЦП
ПодписатьФайл Формирование внешней или внутренней ЭЦП для файла
ПроверитьПодписьФайла Проверка ЭЦП файла
Пауза Реализация паузы в 1С

 

Использование в 1С

Весь функционал работы с ЭЦП выделен в отдельную подсистему, что позволяет легко встроить её в любую конфигурацию 1С.
Компонента BilboSign.dll успешно используется в нашей разработке - конфигурации 1С "ИСПС - шлюз".

Далее показаны некоторые формы, демонстрирующие настройку компонента.

Настройка расположения библиотек и режимов их работы. На этой вкладке указываются пути к установленным библиотекам, основной режим взаимодействия с серверами ЦСК, параметры логирования в журнале регистрации, основной ключ ЭЦП, который будет использоваться при выполнении автоматического обмена с корреспондентами. Ключи ЭЦП можно хранить в справочнике, при этом пароль к закрытому ключу будет храниться в зашифрованном виде.

Настройка параметров библиотек ЭЦП

Настройка параметров файлового хранилища. В настройках файлового хранилища указывается, в каком каталоге располагать сертификаты, время хранения состояния проверенного сертификата, режимы работы со списками отозванных сертификатов.

Настройка параметров файлового хранилища

Настройка прокси-сервера. Если для выхода в интернет используется прокси-сервер, нужно указать его параметры. Настройки прокси-сервера содержат адрес, порт, имя пользователя и пароль.

Настройка параметров прокси-сервера

Настройка TSP-сервера. При необходимости использовать протокол штампа времени, нужно настроить параметры подключения к TSP-серверу. Здесь указывается сервер того ЦСК, ключ которого используется при формировании цифровой подписи (основной ключ ЭЦП).

Настройка TSP-сервера

Настройка OCSP-сервера. На этой вкладке необходимо указать адреса всех серверов ЦСК, с ключами которых разрешено работать. Если этого не сделать, будет невозможно проверить цифровую подпись в онлайн-режиме.

Настройка OCSP-сервера

Настройки LDAP-сервера. Здесь также нужно указать сервер нашего ЦСК.

Настройка LDAP-сервера

Настройки CMP-сервера.

Настройка CMP-сервера

На вкладке "Проверка" можно выполнить подключение и инициализацию библиотеки. Для проверки настроек можно выполнить последовательное подключение, инициализацию, установку вышеперечисленных параметров серверов и режимов работы, чтение личного ключа. Если всё настроено правильно, то после чтения личного ключа отобразятся регистрационные данные о его владельце.

Проверка настроек BilboSign.dll


Цена решения 1000 грн.

Вы можете скачать демонстрационную конфигурацию или заказать демонстрацию на нашем сервере для тестирования.