Создание подписи ID-Картой (или AvPass) через КП NTClientSoftware (РБ)

07.04.25

Администрирование - Информационная безопасность

Обработка для подписи и проверки файлов отсоединённой ЭЦП (РБ) через клиентскую программу NTClientSoftware (https://nces.by/service/po/). Основной целью была реализация возможности подписи PDF-файлов отсоединённой ЭЦП с помощью ID-карты. Но также можно вырабатывать подпись с использованием ключей AvPass и AvBign (для AvPass и AvSign в операционной системе требуется наличие модулей AvPKI (https://avest.by/crypto/csp.htm)).

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
КТА2ЕСИФЮЛ(1.0.0.1)
.epf 23,08Kb ver:1.0.0.1
1 2 450 руб. Купить

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

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

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

Для эксплуатации обработки на "клиенте" в ОС должна быть установлена клиентская программа NTClientSoftware.

NTClientSoftware -предназначена для организации взаимодействия между пользователем, его криптографическим токеном аутентификации (КТА) или средством электронной цифровой подписи (ЭЦП), комплексом программных средств прикладной системы BY.БФИД.10246-01 (КПСИС) и Единой системой идентификации физических и юридических лиц BY.БФИД.10243-01 (ЕС ИФЮЛ).

1. Выработка подписи - запустить обработку, выбрать файл (документ) в поле "Путь к файлу" для которого требуется создать файл подписи и выполнить команду "Подписать файл".

 

 

Обработка обратится КП NTClientSoftware для выработки подписи, которая запросит пароль к ID-карте подключенной к считывателю.

После успешного ввода пароля (PIN1 и PIN2) WEB-сервису NTClientSoftware вернет файл подписи. Подпись сохраняется в ту же директорию в которой находится подписываемый документ.

2. Проверка подписи - выполняется на закладке "Проверить".

 

 

Одновременно происходит 2-мя способами:

    1) Посредством платформы (МенеджерКриптографии) (в ОС обязательное присутствие Avest CSP)

Проверяется ХЕШ и определяется дата подписи.

 

    2) Через NTClientSoftware.

На момент проверки электронная подпись должна находиться в периоде своей действительности.

 

Тестировалось в следующей связке:

  Платформа 8.3.22.2411
+Пустая конфигурация
+ID-карта РБ, 
+Смарт-кардридер X01 USB (5$ Ali)
+NTClientSoftware v 1.1.0
+Криптопровайдер AvCSP AvCSPBel6.3.0.813

----------------------------------------------------------------------

Пример функции выработки открепительной подписи:

&НаКлиенте
Асинх Функция Подписать(ПутьКФайлу)
	ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу);
	
	//API в 'Руководство оператора КП.doc' для NTClientSoftware
	//4.11. Выработка ЭЦП через идентификационную карту (КТА) и создание CMS-структуры: http://127.0.0.1:8084/sign_kta_cms.
	Тело = Новый Структура("data,isDetached",Base64Строка(ДвоичныеДанные), XMLСтрока(Истина));   //isDetached = ОтсоединеннаяПодпись
	
	HTTPСоединение = Новый HTTPСоединение("127.0.0.1",8084); //
	HTTPЗапрос = Новый HTTPЗапрос("/sign_kta_cms");
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	
	//`89; ЗаписьJSON
	ПотокВПамяти = Новый ПотокВПамяти();
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.ОткрытьПоток(ПотокВПамяти);
	ЗаписатьJSON(ЗаписьJSON,Тело);
	ЗаписьJSON.Закрыть();
	
	ДвоичныеДанные = ПотокВПамяти.ЗакрытьИПолучитьДвоичныеДанные();	
	
	HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанные);
	HTTPОтвет = Ждать HTTPСоединение.ОтправитьДляОбработкиАсинх(HTTPЗапрос);
	
	//`89; ЧтениеJSON
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(HTTPОтвет.ПолучитьТелоКакСтроку());
	ОтветСервера = ПрочитатьJSON(Чтение);
	Чтение.Закрыть();	
	
	Подпись = ОтветСервера.sig;
	
	Если НЕ ЗначениеЗаполнено(Подпись) Тогда
		ВызватьИсключение "Ошибка:"+ОтветСервера.error	// Описание кодов ошибок в 'Руководство оператора КП.doc' для NTClientSoftware
	КонецЕсли;
	
	Возврат Подпись;  // ДвоичныеДанные
	
КонецФункции

 

Ссылки:

NTClientSoftware - https://nces.by/service/po/
AvPKI - https://avest.by/crypto/csp.htm

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия для Беларуси, 2.1, релизы 2.1.61.3

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

ID-карта ЭЦП "ЕС ИФЮЛ" Avest NTClientSoftware AvPass USB Smart Card Reader РБ

См. также

Информационная безопасность Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Предлагается внешняя обработка для просмотра данных в формате ASN1. Есть 2 режима: загрузка из бинарного формата и из BASE64. Реализована функция извлечения всех сертификатов, которые можно найти в ASN1-файле. В дополнении к этому продукту предлагается методическая помощь по вопросам, связанным с технической реализацией криптографии и шифрования в 1С.

2400 руб.

29.08.2016    30523    11    1    

12

Информационная безопасность Пароли 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    9445    kamisov    19    

63

Информационная безопасность Программист 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    14113    PROSTO-1C    10    

41

Информационная безопасность Программист 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    3219    platonov.e    1    

23

Информационная безопасность Системный администратор 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

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

5 стартмани

24.04.2023    7150    23    soulner    8    

33

Информационная безопасность Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    8630    63    Silenser    12    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BotMan4 15 14.06.25 20:13 Сейчас в теме
Подписать проблемы нету вообще, а вот как указать сразу сертификат и пароль на него ?
2. RenatK 1 28.06.25 21:43 Сейчас в теме
Возможно, надёжного способа подписывать ID-картой РБ с передачей пароля нет. ID-карта — это персональный инструмент: сама возможность подписания должна оставаться надёжным инструментом для гражданина с любым уровнем познаний.

Иначе говоря, с точки зрения безопасности PIN-код ID-карты — это персональный секрет, аналогичный паролю от банковской карты. Его передача в открытом виде (например, в API-запросе) нарушает принцип конфиденциальности и делает систему уязвимой.

Но не исключаю, что сторонними инструментами это всё-таки можно сделать.
Оставьте свое сообщение