Вопрос использования электронной цифровой подписи (ЭЦП) в мобильных приложениях долгое время оставался одним из самых сложных для разработчиков 1С. Основная трудность заключалась в закрытости мобильных операционных систем и отсутствии встроенных криптографических алгоритмов, соответствующих российским стандартам ГОСТ. Однако на сегодняшний день технологии и законодательство значительно продвинулись вперед. Разберем подробно, какие существуют способы реализации подписания документов в мобильной среде 1С.
Многие пользователи ошибочно полагают, что токен невозможно подключить к смартфону. Рассмотрим современные способы взаимодействия с физическими ключами:
Проанализируем техническую часть: для работы таких устройств в мобильном приложении 1С требуется наличие установленного криптопровайдера (например, КриптоПро CSP для Android/iOS) или использование специализированных SDK от производителей токенов.
Ранее был популярен метод конвертации ключа в формат .pfx и загрузки его непосредственно в мобильное устройство или базу 1С. Выясним причину, почему этот способ сейчас теряет актуальность:
С 2022 года ключи для руководителей организаций и ИП выдаются ФНС на неизвлекаемых носителях. Это означает, что штатно скопировать такой ключ в файл .pfx невозможно. Однако этот метод все еще применим для:
Это, пожалуй, самое перспективное и удобное направление для мобильной экосистемы 1С. Рассмотрим принцип работы облачной подписи подробнее:
При использовании КриптоПро DSS сам закрытый ключ хранится не на телефоне, а в защищенном аппаратном хранилище (HSM) на стороне доверенного удостоверяющего центра. Процесс подписания выглядит следующим образом:
Такой подход реализован в типовых решениях, таких как 1С:Клиент ЭДО. Это избавляет от необходимости подключать к телефону дополнительные устройства и настраивать сложную криптографию на уровне ОС.
Разберем новый механизм, который активно внедряется в государственные и бизнес-процессы. «Госключ» — это приложение, позволяющее бесплатно получить сертификат УКЭП на смартфоне. Для разработчика 1С взаимодействие с ним строится через API:
Информационная система (1С) отправляет документ в систему «Госключ», пользователь подписывает его в одноименном приложении, после чего 1С получает уведомление о завершении операции и забирает файл подписи. Это решение идеально подходит для кадрового электронного документооборота (КЭДО).
Если нам необходимо реализовать подписание именно на мобильном устройстве средствами установленного там криптопровайдера, мы можем использовать технологию взаимодействия между приложениями. Посмотрим на алгоритм:
ЗапуститьПриложение() или через Intent (на Android) файл передается в специализированное приложение (например, КриптоАРМ Мобайл)..sig) возвращается обратно в мобильное приложение 1С через URL-схему или временное хранилище.В современной мобильной платформе 1С (версии 8.3.20+) расширена поддержка объекта МенеджерКриптографии. Хотя он не реализует ГОСТ-алгоритмы самостоятельно, он позволяет взаимодействовать с внешними компонентами.
Пример логики работы с объектом в коде (в общем виде):
// Пример инициализации менеджера криптографии
Менеджер = Новый МенеджерКриптографии("", "", 80); // 80 - тип провайдера ГОСТ
ПараметрыОтбора = Новый ПараметрыОтбораСертификатовКриптографии();
Сертификаты = Менеджер.ПолучитьСертификаты(ПараметрыОтбора);
// Если сертификат найден на устройстве или в облаке
Если Сертификаты.Количество() > 0 Тогда
Сертификат = Сертификаты[0];
// Выполнение подписания
Менеджер.Подписать(ДанныеДляПодписи, ПутьКФайлуПодписи, Сертификат);
КонецЕсли;
Важный нюанс: На мобильных устройствах для работы этого кода часто требуется установленная мобильная версия КриптоПро CSP и соответствующая лицензия для разработчика (SDK).
Проанализируем, как МЧД упрощает жизнь. С 2024 года сотрудники обязаны использовать личные подписи физлиц. В отличие от подписи руководителя на токене ФНС, личную подпись гораздо проще экспортировать в .pfx или использовать через облачные сервисы. Для подтверждения полномочий к документу просто прикладывается файл МЧД (XML), который проверяется на стороне приемника (например, в Честном Знаке или ФНС).
Выясним, какой путь выбрать для вашего проекта:
Помните, что безопасность мобильного устройства — критический фактор. Хранение закрытых ключей непосредственно в файловой системе смартфона является рискованным, поэтому использование облачных технологий (DSS) или неизвлекаемых токенов (NFC) является стандартом де-факто в современной разработке.