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-совместимых приложениях
Примечание: При использовании в промышленной среде рекомендуется тестировать плагин на тестовой конфигурации перед внедрением. Также важно следить за актуальностью версии плагина и совместимостью с текущей версией криптопровайдера.