Электронная подпись и шифрование на Android

: электронная подпись и шифрование на android

Адрес новости: http://soft.lissi.ru/about/news/2021/05/11/

Адрес сайта: http://soft.lissi.ru

Специалистами ООО «ЛИССИ-Софт» подготовлена beta-версия приложения «SignMaker-А» для платформы Android:

Электронная подпись и шифрование на Android

Данное приложение предназначено для использования в электронном документообороте, для формирования электронной подписи (ЭП) и шифрования документов, хранящихся в файлах, в том числе и с использованием российской криптографии (ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001, ГОСТ 28147-89).

В качестве средств криптографической защиты (СКЗИ) могут использоваться программные (например, LCCryptoki) и аппаратные токены с поддержкой интерфейса PKCS#11.

Приложение «SignMaker-А» по своему функционалу полностью идентично приложению «CryptoWeb», разработанному на базе платформонезависимого криптоплагина.

Приложение «SignMaker-A» соответствует требованиям Федерального закона от 10 января 2002 года № 1-ФЗ “Об электронной цифровой подписи” и «Требованиям к форме квалифицированного сертификата ключа проверки электронной подписи», утвержденным приказом ФСБ России от 27.12.2021 г. № 795, и выступает как средство визуализации при подписании/шифровании документа.

Beta-версия приложение «SignMaker-А» уже сегодня позволяет подключать библиотеки токенов, импортировать пользовательские и корневые сертификаты, личные сертификаты в формате PKCS12, подписывать и шифровать файлы с документами (PKCS7), формировать запросы на сертификат в формате PKCS10: 

Электронная подпись и шифрование на AndroidЭлектронная подпись и шифрование на AndroidЭлектронная подпись и шифрование на AndroidЭлектронная подпись и шифрование на Android

Для разработчиков приложений, в частности, в банковской сфере (мобильный банкинг, дистанционное банковское обслуживание (ДБО), в сфере госуслуг и т.д. предоставляется соответствующее SDK.

Заказать и получить тестовые сертификаты можно на тестовом Удостоверяющем Центре (УЦ) ООО «ЛИССИ-Софт» в разделе «Запрос Сертификата –> Создание запроса на стороне сервера». Для этого можно воспользоваться любым браузером, установленном на Android:

Электронная подпись и шифрование на Android

Можно также сформировать запрос PKCS10 и через браузер отправить его на тестовый УЦ (раздел «Запрос Сертификата –> Заявка в формате PKCS#10»).

Получить выданные сертификаты можно на тестовом УЦ в разделе «Сертификаты->Действительные». В первом случае будет получен личный сертификат в формате PKCS12, а во втором случае просто сертификат.

Получить корневой сертификат УЦ можно в разделе «Информация об УЦ ->  получить сертификат УЦ»:

Электронная подпись и шифрование на Android

После получения корневого сертификата необходимо его установить в хранилище приложения:

Электронная подпись и шифрование на Android

Скачать beta-версию можно как с нашего сайта здесь, так и с google-play здесь.

Мы будем благодарны за ваши замечания и пожелания!

С Уважением коллектив ООО «ЛИССИ-Софт».

Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.

Авторизация при помощи приватного ключа

Для авторизации с использованием приватного ключа нам понадобится сам ключ, установленный вышеописанным образом, установленный корневой сертификат УЦ, настроенный сервер с «КриптоПро» и с добавленным в доверенные нашим ключом. Сервер должен поддерживать работу по TLS версии 1.2 для всех устройств с iOS 9 и выше, а также иметь ГОСТовые cipher suites от «КриптоПро».

В мобильном криптоарм появились два новых способа установки сертификатов подписи

Компания «Цифровые технологии» выпустила версию 2.4.5 мобильного приложения «КриптоАРМ ГОСТ». Из нового, в первую очередь следует отметить установку сертификатов «облачной» электронной подписи из веб-сервисов на базе ПАК «КриптоПро DSS». Кроме этого стало возможным переносить сертификаты электронной подписи с компьютера на телефон с помощью QR-кода.

Облачная электронная подпись обладает всеми свойствами и функциями традиционной электронной подписи, с одним существенным различием – сертификат электронной подписи хранится не на токене или смарт-карте, а на сервере удостоверяющего центра.

В последнем обновлении «КриптоАРМ ГОСТ» вы можете выбрать «Установить сертификаты из DSS» при добавлении нового сертификата. Чтобы установить «облачный» сертификат, укажите адрес сервиса DSS и введите свой логин-пароль в системе. После успешной авторизации ваши сертификаты из DSS будут автоматически установлены в приложении и станут доступны для подписи.

Процедура подписи немного отличается от привычной. Документ сначала отправляется на сервер DSS, затем отправителю приходит SMS сообщение с подтвердить операцию над указанным документом. Для подтверждения нужно ввести ПИН-код от ключа подписи. После получения подтверждения, документ подписывается на сервере вашим сертификатом и возвращается обратно в приложение.

Также в «КриптоАРМ ГОСТ» версии 2.4.5 вы можете легко установить сертификат с компьютера используя специальные QR-коды. Для этого вам нужно будет запустить КриптоПро CSP 5-й версии и экспортировать ключ электронной подписи в виде QR-кода. После чего наведите камеру на получившийся рисунок с QR-кодом и сертификат с ключом подписи будут установлены в «КриптоАРМ ГОСТ» . Подробнее об импорте сертификата через QR-код смотрите в видео.

Читайте также:  Как отразить в бухгалерском учете услуги по предоставлению доступа к электронной торговой площадке

Полный список изменений в «КриптоАРМ ГОСТ» версии 2.4.5:

  • добавлена возможность установки в приложение “облачной подписи” (сертификатов ЭП из сервисов на базе ПАК “КриптоПро DSS” 2.0)
  • добавлен импорт сертификатов и ключей из сгенерированного QR-кода (генерация QR-кода осуществляется в интерфейсе КриптоПро CSP 5.0)
  • кнопка “Выполнить” теперь работает и для обратных операций
  • добавлено новое окно с результатами операций
  • расширена выводимая информация о сертификате
  • изменен вид модальных окон
  • обновлено ядро КриптоПро CSP до версии 5.0.11823

Приложение «КриптоАРМ ГОСТ» доступно для установки в App Store или Google Play. Бесплатно первые две недели.

В следующей версии мобильного приложения КриптоАРМ ГОСТ планируется: добавить возможность подтверждения операций с «облачной» подписью внутри приложения КриптоАРМ ГОСТ, возможность просмотра содержимого документов, подписываемых «облачной» подписью, а такке поддержка подписи со штампами времени и стандарта Усовершенствованной электронной подписи.

Генеральный директор, национальный удостоверяющий центр

Мы с пониманием относимся к желанию наших партнеров и клиентов переходить на мобильные платформы. КриптоНУЦ под Android — естественное развитие линейки мобильных решений Национального удостоверяющего центра. Актуальность приложения для работы с электронной подписью под Android так же обуславливается текущей тенденцией к импортозамещению.

Заместитель генерального директора по развитию, национальный удостоверяющий центр

При создании КриптоНУЦ особое внимание уделялось простоте и удобству интерфейса — чтобы работа с приложением ни у кого не вызывала трудностей. В настоящее время в КриптоНУЦ реализованы базовые функции: зашифрование/расшифрование файлов и формирование/проверка электронной подписи. В следующих версиях мы планируем расширять функциональность, и при этом особое внимание будет уделяться пожеланиям пользователей.

Заместитель генерального директора, криптопро

Программные продукты, позволяющие создавать электронную подпись на мобильных устройствах, не новость на отечественном рынке, однако до сих пор наблюдается заметный перевес в сторону решений под iOS, поэтому появление КриптоНУЦ в настоящий момент особенно актуально, ведь устройства под Android так же популярны в корпоративной среде, как и продукция компании Apple.

Источник

Импорт «криптопро» в мобильное приложение

Первый шаг для использования «КриптоПро» в своем приложении — это внедрить фреймворк, скачанный с сайта компании. В пакете для iOS помимо самого фреймворка содержатся также три примера — создание электронной подписи (ЭЦП), создание ssl-тоннеля и пример, позволяющий собрать браузер, обладающий функциональностью создания и проверки ЭЦП на веб-страницах.

Подробное описание содержится внутри примеров, в файлах Readme. На их основе легче понять алгоритм действий. Очень поможет пакет для MacOS: в нем содержится много полезных примеров с подробными комментариями. После его установки все примеры будут находиться на диске в разделе opt/cprocsp/src/doxygen/CSP.

Инструкция по импортированию самого фреймворка находится в CPROCSP.framework в файле ReadMe, разберем его по пунктам.

1. От вас требуется зайти в консоль и прописать путь к скаченному фреймворку, далее запустить утилиту, как описано ниже:

(указанный ключ прилагается в файле, затем в этой же директории будет создан файл лицензии license.enc).

2. Прежде чем импортировать фреймворк, советуем перенести его файл CPROCSP.framework в папку с проектом. Так вы защитите себя от случайного переноса фреймворка в другую папку, из-за чего «слетят» пути в Xсode. Теперь к импорту: открываем Xсode, в боковой панели слева выбираем проект и в списке targets выбираем цель сборки

Далее во вкладке Build Phases выбираем Link Binary With Libraries, жмем на « » и затем Add other, чтобы указать путь к фреймворку вручную. Находим его и выбираем Open. Фреймворк импортирован, но использовать его еще не получится.

3. Создаем в проекте папку Resources, открываем файл CPROCSP.framework, заходим в папку Resources и перетаскиваем все файлы и папки, кроме локализации (ru.lroj и en.lproj), в созданную нами папку с такими настройками:

4. Перетаскиваем в эту же папку файл лицензии, созданный в первом пункте, с настройками как на скриншоте выше.

5. Теперь переносим оставшиеся папки локализации также в Resources приложения, но с другими настройками:

Если все сделать правильно, то папки будут выглядеть так:

6. Следующим пунктом идет настройка проекта для отладки в эмуляторе. Если этого не сделать, то приложение можно будет запустить только на устройстве. Во вкладке Build Settings проекта в поле Valid Architectures оставляем только armv7. Работы по поддержке 64-битной архитектуры уже ведутся, но пока используем 32-битную. Также в Architectures записываем Optimized (armv7). Должно получиться следующее:

Читайте также:  криптопро csp требования к системе

На этом приложенная инструкция заканчивается, но запустить приложение в итоге не получится — при компиляции вы увидите что-то вроде этого:

Непонятно, по каким причинам разработчики не дописали пару пунктов, но для корректной линковки необходимо добавить еще некоторые библиотеки и «магический флаг». Теперь подробнее.

Аналогично схеме, описанной в пункте 2, добираемся до файла CPROCSP.framework, в нем заходим в папку reader и импортируем запылившуюся там библиотеку librdrpcsc_empty.o. Следующую библиотеку добавляем из заложенных в Xcode, для этого все в том же окне в поиске вводим libz

и добавляем ее кнопкой Add.

Но этого тоже будет недостаточно, останется еще одна ошибка:

Для ее решения в любое место проекта поместите флаг

После этого проблема будет решена и приложение соберется успешно. Данный флаг говорит о том, где вы хотите хранить папку с ключами. В случае с false (как использовали мы, — причина будет раскрыта далее) используется папка

Если поставить true, то они будут храниться в закрытом месте:

На этом импорт фреймворка окончен, и можно запустить приложение на эмуляторе.

Как подписать pdf-документ

Редактировать и подписывать документы на Android проще простого

Эта подпись сохранится и для будущего применения

Вставьте подпись и отправьте документ контрагенту

Как подписать документ на android

Не знаю, как часто вам приходится работать с документами, но для меня, как для индивидуального предпринимателя, — это совершенно обыденное дело. Регулярно мне на подпись поступают счета, которые нужно завизировать и отправить контрагенту, который находится в другом городе.

В теории для этого можно было применить обычную почту и, по старинке распечатав и подписав документацию, просто отправить её заказным или обычным письмом. Но ведь для этого нужно не только распечатать счета, но ещё и купить конверт, не говоря уже о том, чтобы дойти до почтового отделения.

Подписать документ на Android и отправить проще, чем возиться с почтой

Как смотреть жуков, бабочек и других насекомых в 3D в Google

Я нашёл выход из сложившейся ситуации в электронной подписи. Но не той, которая требуется для совершения значимых операций по части налоговой инспекции и называется электронной квалифицированной подписью, а той, которая позволяет поставить ваш автограф на документе в формате PDF и отправить его по электронной почте.

Как работать с pdf на android

Ищете инструмент для работы с PDF на Android? Нет ничего лучше Adobe Acrobat Reader

Adobe Acrobat Reader – это бесплатное приложение, которое представляет собой PDF-ридер. Он позволяет с удобством взаимодействовать с документами, не только подписывая их для контрагентов, но и искать по содержимому, выделять, копировать, редактировать и вносить разного рода изменения.

Google сделала резервные копии на Android удобными и бесплатными

Важно понимать, что таким образом можно подписывать любые документы, но они обязательно должны быть в формате PDF. Впрочем, если ваш документ имеет другой формат, — это не проблема. Вы можете конвертировать его в нужный, посредством популярных онлайн-конвертеров вроде ilovepdf.

Источник

Контейнер закрытого ключа для работы с «криптопро»

На момент написания статьи «КриптоПро CSP 4.0» не поддерживает работу с сертификатами *.pfx, которые содержат и публичный, и приватный ключ. Необходимо использовать контейнеры *.000, которые можно получить только при использовании «КриптоПро»; их формат нигде не описан, и записываются они, как правило, на ключевых носителях, токенах (флешках, дискетах).

Криптонуц — электронная подпись на мобильных устройствах / новости / пресс-центр / рутокен

Современные мобильные технологии предлагают пользователям множество разнообразных способов общения между собой. Существует масса приложений для обмена сообщениями, фотографиями и другим контентом. При этом зачастую защищенность передаваемой информации приносится в жертву простоте передачи и доступности. В то же время, чем больше человек погружен в сеть, тем более уязвимым он становится для разного рода мошенников, использующих его персональную информацию в корыстных целях. Многие пользователи считают, что защита информации — это что-то сложное и дорогое, требующее специальных знаний и навыков. В действительности же, существуют решения, позволяющие пользователям надежно, а главное просто защищать данные, которыми они обмениваются в сети.

Приложение КриптоНУЦ от компании «Национальный удостоверяющий центр» позволяет удобно шифровать и подписывать электронной подписью любые файлы на мобильном устройстве. Для работы приложения используются сертификаты электронной подписи, что дает возможность адресно зашифровывать данные — расшифровать их сможет только владелец сертификата.

Для хранения личного секретного ключа электронной подписи применяются защищенные ключевые производства компании «Актив». Пользователи могут выбрать USB-токены Рутокен ЭЦП или Рутокен Lite в стандартном и микро-корпусе, microSD-карты Рутокен Lite SD или беспроводной токен — Рутокен ЭЦП Bluetooth.

Для выполнения операций шифрования и подписи используется широко распространенное средство криптографической защиты информации КриптоПро CSP компании «КриптоПро». Защищенные при помощи КриптоНУЦ файлы пересылаются так же, как и любые другие — через почту, социальные сети, сервисы мгновенных сообщений. При этом можно быть уверенным, что передаваемые данные не будут перехвачены или изменены злоумышленниками.

Читайте также:  КриптоПро клауд и криптопро CSP

Полезные ссылки

MSDN — подробное описание всех функций, входящих в них параметров, а также рабочие примеры.

Форум — форум «КриптоПро», на котором сотрудники ежедневно отвечают на вопросы. Многие ответы на вопросы уже даны, и, несмотря на их давность (порою около 6 лет), они все еще могут вам помочь.

Руководство разработчика — написанное компанией руководство, которое содержит в себе перечень входящих в состав криптопровайдера функций с кратким описанием и примерами.

Описание ошибок — большой список возможных ошибок, возникающих в функциях С , с их кодом и кратких описанием. Чтобы получить код ошибки, используйте в коде приложения функцию CSP_GetLastError, входящей в состав фреймворка. Она хранит в себе код последней полученной ошибки.

Источник

Работа с «криптопро»

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

Компания «КриптоПро» предоставляет мобильным разработчикам мощный инструмент для внедрения в свое приложение такого сложного функционала совершенно бесплатно, но есть и ложка дегтя. К сожалению, за долгое время существования компании не было сделано удобной и понятной документации. Отдельно для мобильных разработчиков ее нет в принципе.

Разработка рано или поздно приведет вас на форум, и вам придется его перелопатить, чтобы найти ответ. Наибольшую сложность составляет отсутствие информации о том, что и как делать, — это мы и постараемся исправить в нашей статье. Все ссылки на ресурсы, которые могут быть полезными, будут оставлены в конце статьи.

Также придется поработать с С и самостоятельно заботиться о выделении и очистке памяти. Стоит отметить, что статья написана при актуальной версии «КриптоПро CSP 4.0», поэтому описанные ниже пакеты для разработчиков в будущем могут отличаться.

Руководитель отдела по работе с технологическими партнерами, актив

Большой плюс решения КриптоНУЦ в том, что оно использует программную платформу КриптоПро CSP, которая является де-факто стандартом для электронной подписи в РФ. Это дает возможность пользоваться одними и теми же носителями электронной подписи на обычных компьютерах и на мобильных устройствах без необходимости извлечения и копирования ключевого контейнера. Стандартный USB-токен или микро-ключ подключается к мобильным устройствам через переходник, а для большего удобства можно использовать беспроводной Bluetooth-токен.

Установка контейнера закрытого ключа в приложение

Как пишут сами сотрудники «КриптоПро», есть три варианта установки контейнера на устройство:

• Через iTunes File Sharing. • Использовать отдельное приложение для записи файлов на iOS, типа iExplorer. • Написать собственный экспорт ключа в блоб (PRIVATEKEYBLOB) и импортировать его в коде приложения. Пример такого способа находится в вышеупомянутом пакете для MacOS под названием EncryptKey/DecryptKey.

Мы использовали первый вариант — как самый быстрый и удовлетворяющий требованиям заказчика. Именно для его реализации при импорте был выбран флаг USE_CACHE_DIR = false; если iTunes File Sharing вами использоваться не будет или вы хотите скрыть от пользователя возможность заглянуть в папку с ключами, то лучше скройте ее, выставив флаг true. После первого запуска с установленным фреймворком в папке Documents приложения будет создана папка cprocsp:

Внутри этой папки и хранятся все контейнеры ключей. Устанавливаемые сертификаты и контейнеры хранятся и относятся к приложению, а не к ключевому хранилищу устройства, поэтому после его удаления будет необходимо установить их заново.

Далее существует два пути: написать все функции самому или использовать уже готовый контроллер, и так как его хватит для решения большинства задач, о нем и поговорим. Фреймворк содержит в себе хедер-файл с названием PaneViewController.h. Если вы не обременены строгостью по дизайну, то можете импортировать предложенные xib-файлы (находятся в CPROCSP.framework/Resources) и инициализировать криптопанель через них — к примеру, таким образом:

Но так как все xib-файлы являются обычными UIView с таблицей, вы легко можете кастомизировать их под свой дизайн.

После открытия панели первое, что необходимо сделать, — это перейти во вкладку «Взаимодействие с УЦ», установить сертификат УЦ (корневой сертификат удостоверяющего центра), пройти процедуру регистрации, отправить запрос на сертификат и получить (установить) его.

После установки корневого сертификата УЦ в папке cprocsp/keys должна будет появиться папка mobile. В нее помещаются контейнеры *.000. Чтобы их установить, снова заходим в панель «КриптоПро» и на главном экране выбираем «Установить сертификаты и контейнеры».

Оцените статью
ЭЦП Эксперт
Добавить комментарий