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

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

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

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

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

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

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

Функционал комплекса "Користувач центру сертифікації ключів" описан на сайте производителя. Для задач формирования и проверки ЭЦП потребовалось реализовать ниже представленные функции (При необходимости этот перечень можно расширять остальным функционалом библиотеки EUSign).

Основные функцииОписание
Инициализировать
ЗавершитьРаботу
Инициализация и завершение работы с библиотекой
УстановитьПараметрыФайловогоХранилища
ПолучитьПараметрыФайловогоХранилища
ОбновитьФайловоеХранилище
ПолучитьСертификат
СохранитьСертификат
ПолучитьСертификатИзПодписанныхДанных
ПолучитьСертификатИзПодписанногоФайла
ПроверитьСертификат
ПолучитьИнформациюОСертификате
ПолучитьСертификатПоОтпечатку
ПолучитьСертификатыПоЛичномуКлючу
ПоказатьСпискиОтозванныхСертификатов
ПоказатьСертификаты
ПоказатьСобственныйСертификат
ИнформацияСобственногоСертификата
Работа с сертификатами и файловым хранилищем
УстановитьПараметрыПроксиСервера
ПолучитьПараметрыПроксиСервера
УстановитьПараметрыOCSPСервера
ПолучитьПараметрыOCSPСервера
УстановитьПараметрыTSPСервера
ПолучитьПараметрыTSPСервера
УстановитьПараметрыLDAPСервера
ПолучитьПараметрыLDAPСервера
УстановитьПараметрыCMPСервера
ПолучитьПараметрыCMPСервера
УстановитьРежимНастроек
Установка и считывание параметров взаимодействия с АЦСК
СчитатьЛичныйКлюч
СчитатьЛичныйКлючИзДвоичныхДанных
СчитатьЛичныйКлючСНосителя
СчитатьЛичныйКлючИзФайла
СброситьЛичныйКлюч
ОпределитьПараметрыНосителяЛичногоКлюча
Работа с личным ключем
ПодписатьФайл
ПроверитьПодписьФайла
ПодписатьФайлУпрощенно
ПроверитьУпрощеннуюПодписьФайла
ПодписатьДанные
ПроверитьПодписьДанных
ПодписатьДанныеВнутреннейПодписью
ПроверитьВнутреннююПодписьДанных
УстановитьТипПодписи
ВключатьСертификатыЦСК
ВключатьШтампВремени
Работа с ЭЦП
ЗашифроватьФайл
РасшифроватьФайл
Работа с шифрованием
ПолучитьОписаниеОшибки Получение локализованного описания ошибки по коду.
Языки: украинский, английский, русский

 

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

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

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

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

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

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


Настройка параметров файлового хранилища
В выбранный каталог для сертификатов необходимо поместить сертификаты серверов АЦСК и открытые сертификаты пользователей, которые будут использовать электронную цифровую подпись и шифрование. Скачать сертификаты АЦСК можно с их сайтов, например:
АЦСК ІДД ДФС АЦСК MASTERKEY АЦСК Україна
АЦСК Ключові системи АЦСК АТ КБ "ПРИВАТБАНК" АЦСК ПАТ "УкрСиббанк"
АЦСК органів юстиції України АЦСК Державної казначейської служби України АЦСК МВС України

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

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

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

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

Тестирование работы позволяет выполнить основные тесты:

Подпись данных BilboSign.dll

Интеграция подсистемы в типовые конфигурации

После интеграции подсистемы в типовые конфигурации сохраняются все стандартные механизмы настройки и работы с ЭЦП.
Последовательность настройки на примере 1C:Документооборот 8 КОРП для Украины:

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

Стоимость лицензии на одну рабочую станцию 3200 грн.

Если используете ЭЦП на стороне сервера 1С, тогда необходима только одна лицензия. Но в этом случае скорость работы компоненты снижается, поскольку при каждом использовании необходимо создавать и инициализировать объект компоненты в памяти. Минусом использования на сервере также является необходимость открывать доступ в интернет на стороне сервера для взаимодействия с АЦСК. Для высоконагруженных систем и многопользовательской работы оптимальным будет использование на стороне клиента.

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

(Последнее обновление 11-10-2018. Версия 2.1.4.4)