Skip to content

BlitzScPlugin — Расширенные технические документы

Общее описание

BlitzScPlugin — это плагин-адаптер, предназначенный для интеграции программного обеспечения электронной подписи (в частности, КриптоАРМ ГОСТ) с 1С:Предприятием 8.3 и выше, а также другими системами, использующими Web-сервисы или COM-объекты для работы с ЭЦП.

Основная задача плагина — обеспечить корректное взаимодействие между платформой 1С и криптографическим модулем (например, КриптоПро CSP), позволяя использовать российские стандарты шифрования (ГОСТ Р 34.10/11) в автоматизированных рабочих процессах.


Основные функции

1. Формирование ЭЦП

  • Поддержка создания цифровой подписи по ГОСТ Р 34.10-2012.
  • Возможность подписания как отдельных файлов, так и данных из базы 1С (XML, JSON, битовые потоки).

2. Проверка ЭЦП

  • Проверка подлинности подписи на основе открытого ключа из сертификата.
  • Интеграция с хранилищем сертификатов Windows.

3. Шифрование и расшифрование данных

  • Поддержка асимметричного шифрования по ГОСТ.
  • Использование открытого ключа получателя для шифрования и закрытого — для расшифровки.

4. Работа с сертификатами

  • Выбор сертификата из личного хранилища пользователя.
  • Автоматическое связывание сертификата с контейнером закрытого ключа.

5. Поддержка COM-интерфейсов

  • Доступен через COM-объекты для вызова из внешних приложений, включая 1С.
  • Может быть использован в других ERP/CRM-системах, поддерживающих COM-взаимодействие.

Техническая архитектура

1. COM-объекты

BlitzScPlugin предоставляет следующие COM-классы:

Класс Назначение
BlitzScPlugin.Crypto Основной объект для выполнения операций подписи, шифрования и проверки
BlitzScPlugin.CertStorage Управление хранилищем сертификатов
BlitzScPlugin.KeyContainer Работа с контейнерами закрытых ключей

2. Интеграция с 1С

  • В конфигурации 1С создаётся внешняя компонента типа "Объект COM".
  • Пример подключения: bsl crypto = Новый COMОбъект("BlitzScPlugin.Crypto");
  • После чего доступны методы:
  • SignData()
  • VerifySignature()
  • EncryptData()
  • DecryptData()

3. Взаимодействие с криптопровайдером

  • Плагин работает через установленный криптопровайдер (например, КриптоПро CSP).
  • Все криптографические операции выполняются в рамках CryptoAPI / CNG Windows.

Системные требования

Аппаратные:

  • Процессор: Intel i3 и выше / AMD эквивалент
  • RAM: не менее 2 ГБ
  • HDD: свободное место ~200 Мб

Программные:

  • Операционная система: Microsoft Windows (7 SP1 и выше)
  • 1С:Предприятие 8.3 и выше (для использования в 1С)
  • Установленный криптопровайдер (КриптоПро CSP, Льгота CSP и др.)
  • .NET Framework 4.0 и выше

Примеры использования

1. Подписание XML-документа в 1С

// Загрузка файла
Данные = ПолучитьДанныеИзФайла("C:\temp\doc.xml");

// Создание COM-объекта
crypto = Новый COMОбъект("BlitzScPlugin.Crypto");

// Подпись данных
Подпись = crypto.SignData(Данные);

// Сохранение подписи
ЗаписатьПодписьВФайл(Подпись, "C:\temp\signature.sig");

2. Проверка подписи

Данные = ПолучитьДанныеИзФайла("C:\temp\doc.xml");
Подпись = ПолучитьДанныеИзФайла("C:\temp\signature.sig");

crypto = Новый COMОбъект("BlitzScPlugin.Crypto");
Результат = crypto.VerifySignature(Данные, Подпись);

Если Результат Тогда
    Сообщить("Подпись корректна");
Иначе
    Сообщить("Подпись недействительна");
КонецЕсли;

Особенности развертывания

1. Установка плагина

  • Рекомендуется устанавливать после установки криптопровайдера и КриптоАРМ.
  • Для регистрации COM-объектов необходимо запускать установщик от имени администратора.

2. Регистрация DLL вручную

Если установка не прошла успешно, можно зарегистрировать библиотеку вручную:

regsvr32.exe BlitzScPlugin.dll

3. Работа в терминальном режиме

  • При использовании в терминальных серверах важно убедиться, что:
  • Криптопровайдер установлен в контексте каждого пользователя.
  • Сертификаты импортированы в пользовательское хранилище.

Диагностика и устранение ошибок

Ошибка Возможная причина Решение
"Не найден COM-объект" Не зарегистрирована DLL Выполнить regsvr32.exe BlitzScPlugin.dll
"Ошибка открытия контейнера ключа" Повреждён или отсутствует закрытый ключ Использовать cspclean.exe, затем повторно импортировать сертификат
"Невозможно загрузить криптопровайдер" Не установлен или повреждён КриптоПро CSP Перезапустить установку криптопровайдера
"Подпись не прошла верификацию" Несоответствие сертификатов Проверить соответствие открытого ключа и подписавшего сертификата

Лицензирование и распространение

  • BlitzScPlugin может распространяться:
  • Как часть решения по интеграции с ЭЦП
  • Отдельно — по лицензии разработчика или поставщика
  • Часто используется как open-source или freeware в составе проектов по интеграции 1С с государственными системами (ЕГАИС, ФНС, ПФР и др.)

Преимущества использования

  • Простая интеграция с 1С через COM
  • Полная поддержка ГОСТ-криптографии
  • Совместимость с основными криптопровайдерами
  • Минимальные требования к ресурсам
  • Возможность использования в любых COM-совместимых приложениях

Примечание: При использовании в промышленной среде рекомендуется тестировать плагин на тестовой конфигурации перед внедрением. Также важно следить за актуальностью версии плагина и совместимостью с текущей версией криптопровайдера.