ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll

11.12.17

Разработка - Разработка внешних компонент

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ЭЦП по гостам Украины в 1С - демонстрационная конфигурация
.zip 16,20Mb ver:2.0.0.1
38 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Bilbosign.dll по сути является адаптером комплекса "IIT Користувач ЦСК", который разработан АТ "ІІТ", и сейчас широко используется всеми системами, использующими ЭЦП. Функционал комплекса "Користувач центру сертифікації ключів" описан на сайте производителя.

Компонента работает на сервере и на клиенте. Опыт успешного использования - 3 года.

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

 

Описание некоторых свойств и методов библиотеки Bilbosign.dll

Подробное описание приведено во встроенной справке, здесь же я приведу только синтаксис  и описания некоторых основных функций.

Свойства
БиблиотекаИнициализирована (IsInitialized)
Описание: Тип: Булево. При первой загрузке = Ложь, после инициализации библиотеки = Истина

АвтономныйРежим (OfflineMode)
Описание: Тип: Булево. Содержит признак использования библиотеки в Ofline-режиме (без подключения к серверам АЦСК)

ЛичныйКлючСчитан (IsPrivateKeyReaded)
Описание: Тип: Булево. После успешного чтения личного ключа = Истина

НеобходимоУстановитьПараметры (NeedSetSettings)
Описание: Тип: Булево. Содержит признак необходимости выполнить установку параметров работы библиотеки.
Если инициализация компоненты выполняется впервые, то значение = Истина

Методы

Инициализировать (Initialize)
Синтаксис: Инициализировать()
Описание: Инициализирует работу EUSignCP.dll. Результат инициализации можно проверить через свойство БиблиотекаИнициализирована (IsInitialized)

ЗавершитьРаботу (Finalize)
Синтаксис: ЗавершитьРаботу()
Описание: Завершает работу EUSignCP.dll и выгружает её из памяти. Желательно завершать работу компоненты, если в ней больше нет необходимости.

ПолучитьОписаниеОшибки (GetErrorDescription)
Синтаксис: ПолучитьОписаниеОшибки(<КодОшибки>, <Язык>)
Описание: Возвращает локализованное представление ошибки по коду.

УстановитьНастройки (SetSettings)
Синтаксис: УстановитьНастройки()
Описание: Установка параметров работы с библиотекой с помощью графического интерфейса библиотеки.

ПоказатьСертификаты (ShowCertificates)
Синтаксис: ПоказатьСертификаты()
Описание:Отображение сертификатов из файлового хранилища с помощью графического интерфейса библиотеки.

ПоказатьСпискиОтозванныхСертификатов (ShowCRLs)
Синтаксис: ПоказатьСпискиОтозванныхСертификатов()
Описание:Отображение списков отозванных сертификатов из файлового хранилища с помощью графического интерфейса библиотеки.

ОпределитьПараметрыНосителяЛичногоКлюча (GetPrivateKeyMedia)
Синтаксис: ОпределитьПараметрыНосителяЛичногоКлюча(<ТипНосителя>, <Устройство>, <Пароль>)
Описание: Вызывает интерактивный выбор носителя ключа и ввод пароля при помощи графического интерфейса.
Работает только на клиенте. Используется обычно перед вызовом функции СчитатьЛичныйКлюч

СчитатьЛичныйКлюч (ReadPrivateKey)
Синтаксис: СчитатьЛичныйКлюч(<ТипНосителя>, <Устройство>, <Пароль>, <ДанныеСертификата>)
Описание: Выполняет чтение личного ключа с указанного носителя.

СчитатьЛичныйКлючИзДвоичныхДанных (ReadPrivateKeyBinary)
Синтаксис: СчитатьЛичныйКлючИзДвоичныхДанных(<ДвоичныеДанные>, <Пароль>, <ДанныеСертификата>)
Описание: Выполняет чтение личного ключа в виде двоичных данных.

СчитатьЛичныйКлючИзФайла (ReadPrivateKeyFile)
Синтаксис: СчитатьЛичныйКлючИзФайла(<ИмяФайла>, <Пароль>, <ДанныеСертификата>)
Описание: Выполняет чтение личного ключа из указанного файла.

СброситьЛичныйКлюч (ResetPrivateKey)
Синтаксис: СброситьЛичныйКлюч()
Описание: Стирает личный ключ из оперативной памяти

ПолучитьИнформациюОСертификате (GetCertificateInfo)
Синтаксис: ПолучитьИнформациюОСертификате(<Издатель>, <СерийныйНомер>, <ДанныеСертификата>)
Описание: По указанному издателю и серийному номеру сертификата получает полную информацию о сертификате.

УстановитьПараметрыФайловогоХранилища (SetFileStoreSettings)
Описание: Устанавливает текущие настройки файлового хранилища

УстановитьПараметрыOCSPСервера (SetOCSPSettings)
Описание: Устанавливает текущие настройки OCSP-сервера

УстановитьПараметрыTSPСервера (SetTSPSettings)
Описание: Устанавливает текущие настройки TSP-сервера

УстановитьПараметрыLDAPСервера (SetLDAPSettings)
Описание: Устанавливает текущие настройки LDAP-сервера

УстановитьПараметрыCMPСервера (SetCMPSettings)
Описание: Устанавливает текущие настройки CMP-сервера

Base64Кодировать (BASE64Encode)
Синтаксис: Base64Кодировать(<ИсходныеДанные>, <СтрокаBase64>)
Описание: Получает строку, закодированную по алгоритму base64.

Base64Раскодировать (BASE64Decode)
Синтаксис: Base64Раскодировать(<СтрокаBase64>), <ИсходныеДанные>)
Описание: Получает из строки закодированной по алгоритму base64 двоичные данные.

ПодписатьФайл (SignFile)
Синтаксис: ПодписатьФайл(<ИмяФайлаСДанными>, <ИмяФайлаСПодписью>, <ИспользоватьВнешнююПодпись>)
Описание: Формирование внешней или внутренней подписи для файла.

ПроверитьПодписьФайла (VerifyFile)
Синтаксис: ПроверитьПодписьФайла(<ИмяФайлаСПодписью>, <ИмяФайлаСДанными>, <ДанныеПодписи>)
Описание: Проверка внешней или внутренней подписи для файла.

ПодписатьФайлУпрощенно (RawSignFile)
Синтаксис: ПодписатьФайлУпрощенно(<ИмяФайлаСДанными>, <ИмяФайлаСПодписью>)
Описание: Формирование упрощенной подписи для файла.

ПроверитьУпрощеннуюПодписьФайла (RawVerifyFile)
Синтаксис: ПроверитьУпрощеннуюПодписьФайла(<ИмяФайлаСПодписью>, <ИмяФайлаСДанными>, <ДанныеПодписи>)
Описание: Проверка упрощенной подписи для файла.

ПодписатьДанные (SignData)
Синтаксис: ПодписатьДанные(<ИсходныеДанные>, <Подпись>)
Описание: Формирование внешней подписи в виде двоичных данных для строки или двоичных данных.

ПроверитьПодписьДанных (VerifyData)
Синтаксис: ПроверитьПодписьДанных(<ИсходныеДанные>, <Подпись>, <ДанныеПодписи>)
Описание: Проверка внешней подписи в виде двоичных данных для строки или двоичных данных.

ПодписатьДанныеBase64 (SignDataBase64)
Синтаксис: ПодписатьДанныеBase64(<ИсходныеДанные>, <Подпись>)
Описание: Формирование внешней подписи в формате Base64 для строки или двоичных данных.

ПроверитьПодписьДанныхBase64 (VerifyDataBase64)
Синтаксис: ПроверитьПодписьДанныхBase64(<ИсходныеДанные>, <Подпись>, <ДанныеПодписи>)
Описание: Проверка внешней подписи в виде строки Base64 для строки или двоичных данных.

ПодписатьДанныеВнутреннейПодписью (SignDataInternal)
Синтаксис: ПодписатьДанныеВнутреннейПодписью(<ВключатьСертификат>, <ИсходныеДанные>, <ПодписанныеДанные>)
Описание: Формирование внутренней подписи в виде двоичных данных для строки или двоичных данных.

ПроверитьВнутреннююПодписьДанных (VerifyDataInternal)
Синтаксис: ПроверитьВнутреннююПодписьДанных(<ПодписанныеДанные>, <ИсходныеДанные>, <ДанныеПодписи>)
Описание: Проверка внутренней подписи для двоичных данных.

ПроверитьВнутреннююПодписьДанныхСтрока (VerifyDataInternalStr)
Синтаксис: ПроверитьВнутреннююПодписьДанныхСтрока(<ПодписанныеДанные>, <ИсходныеДанные>, <ДанныеПодписи>)
Описание: Проверка внутренней подписи для строковых данных. Имеет смысл для работы с обычными текстовыми данными (например, xml, json)

ПодписатьДанныеВнутреннейПодписьюBase64 (SignDataInternalBase64)
Синтаксис: ПодписатьДанныеВнутреннейПодписьюBase64(<ВключатьСертификат>, <ИсходныеДанные>, <ПодписанныеДанные>)
Описание: Формирование внутренней подписи в виде Base64-строки для строки или двоичных данных.

ПроверитьВнутреннююПодписьДанныхBase64 (VerifyDataInternalBase64)
Синтаксис: ПроверитьВнутреннююПодписьДанныхBase64(<ПодписанныеДанные>, <ИсходныеДанные>, <ДанныеПодписи>)
Описание: Проверка внутренней подписи для данных в виде Base64-строки.

ПроверитьВнутреннююПодписьДанныхBase64Строка (VerifyDataInternalBase64Str)
Синтаксис: ПроверитьВнутреннююПодписьДанныхBase64Строка(<ПодписанныеДанные>, <ИсходныеДанные>, <ДанныеПодписи>)
Описание: Проверка внутренней подписи для строковых данных в виде Base64-строки. Имеет смысл для работы с обычными текстовыми данными (например, xml, json)

 

Вступайте в нашу телеграмм-группу Инфостарт

ЭЦП

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18300 руб.

30.05.2017    57383    11    71    

48

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5084 руб.

12.05.2020    34113    145    100    

101

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    7247    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    12537    kovalevdmv    29    

83

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    12471    starik-2005    40    

49

Инструментарий разработчика Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    8804    152    ivan1703    26    

45

Разработка внешних компонент Программист 1С:Предприятие 8 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

5000 руб.

27.06.2023    5732    3    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. efin 11.12.17 21:50 Сейчас в теме
Многие выкладывают готовые Native-компоненты. Но мне, как начинающему разработчику ВК на С++, очень хочется получить работающие исходники хотя бы одного серьезного проекта, чтобы посмотреть где как что сделано и использовать как образец для своих разработок.

В реальности у меня только учебный пример от 1С. Есть ли еще ВК в открытом виде?
2. KAV2 159 12.12.17 06:36 Сейчас в теме
(1) Учебный пример компоненты на C++ весьма годный, там все есть для создания своей компненты в принципе.
3. Zahary 42 12.12.17 11:04 Сейчас в теме
(1) Здесь есть исходники. Проект конечно не серьезный, но как пример - вполне рабочий.
Самое главное - понять технологию, а исходники серьезных проектов начинающему разработчику ни к чему. Учиться нужно от простого к сложному. Лично для меня самое сложное в ВК - это работа со строковыми типами и их указателями (WCHAR_T, wchar_t, char*, CHAR*, PSTR, PCZPSTR, PCNZCH, string, wstring и.т.д. и т.п).
4. Zahary 42 05.01.18 18:11 Сейчас в теме
Вопрос: При попытке передать двоичные данные как аргумент функции внешней компоненты происходит ошибка "Неверный аргумент"
Ответ: Передача двоичных данных во внешние компоненты реализована начиная с версии 8.3.10
Если используется платформа ниже, тогда используйте функции для работы с файлами либо с данными в формате Base-64
5. Online-Ufa 06.01.18 19:47 Сейчас в теме
С Новым годом!
Следующая версия будет называться FrodoSign.dll ? ))
6. user1745067 15.02.22 19:56 Сейчас в теме
Добрый вечер. В строке КодОшибки = Компонента.СчитатьЛичныйКлючИзФайла(ИмяФайла, Пароль, ДанныеСертификата); КодОшибки = 24. Можете подсказать что не так делаю?
Для отправки сообщения требуется регистрация/авторизация