[ru]
1. Введение
SecureMessaging -- это проект, содержащий пример обмена данными с Рутокен по защищенному каналу,
реализованному в устройствах с операционной системой Android через интерфейс PKCS#11 (реализованный в библиотеке librtpkcs11ecp.so) c использованием механизма JNA.
Более подробную информацию о технологии защищенного канала взаимодействия с токеном можно найти по адресу: https://dev.rutoken.ru/pages/viewpage.action?pageId=10059873

2. Как собрать пример
Внимание! Для успешной сборки примера в проект необходимо добавить библиотеку librtpkcs11ecp.so (см. п. 3).
Для сборки примера необходимо, чтобы была установлена Android Studio (https://developer.android.com/studio/). SDK и система сборки Gradle скачиваются автоматически.
Требования к среде разработки:
a. Gradle версии 4.6 (при сборке из консоли)
b. Android Studio версии 3.2
c. Android SDK Platform 28

Для сборки из консоли выполните:
~/SecureMessaging$> ./gradlew build
Для сборки при помощи Android Studio откройте проект, используя следующую последовательность обращений к меню:
"File">"Open...": "~/SecureMessaging"

3. Установка/обновление библиотеки librtpkcs11ecp.so
Следует заметить, что, в случае если пример был распространен вне комплекта разработчика Рутокен (SDK), библиотека librtpkcs11ecp.so не распространяется с примером.
Расположение библиотеки в комплекте разработчика Рутокен: mobile/android/pkcs11/lib/librtpkcs11ecp.so
Поместите библиотеку librtpkcs11ecp.so по пути: ~/SecureMessaging/app/src/main/jniLibs/armeabi-v7a/librtpkcs11ecp.so.

4. Запуск примера
Для работы примера необходимо, чтобы на мобильном устройстве были установлены:
- сервис Рутокен. Можно найти в Google Play (Панель управления Рутокен) или в комплекте разработчика Рутокен (SDK) по пути: mobile/android/service/rtservice-withUI-release.apk.
Установку собранного примера производите либо средствами Android Studio, либо при помощи утилиты "adb".

Лицензионные обязательства
Этот продукт содержит программное обеспечение, разработанное IAIK of Graz University of Technology.

Copyright Aktiv Co. 2018.

[en]
1. Introduction
SecureMessaging is a sample project to access Rutoken through rtPKCS11ECP library built with SM support using JNA.
For more information about trusted data channel please visit https://dev.rutoken.ru/pages/viewpage.action?pageId=10059873

2. How to build
Warning! To build the sample successfully one has to install librtpkcs11ecp.so library (see p. 3).
To build SecureMessaging you need Android Studio (https://developer.android.com/studio/) installed. SDK and Gradle build system will be downloaded automatically.
Build system requirements:
a. Gradle 4.6 (if built from console)
b. Android Studio 3.2
c. Android SDK Platform 28

To build sample from console run:
~/SecureMessaging$> ./gradlew build

To build sample from Android Studio, use this option:
"File">"Open...": "~/SecureMessaging"

3. Setting/updating librtpkcs11ecp.so native library
In case the sample has been distributed without Rutoken SDK, the project does not contain librtpkcs11ecp.so library.
This library may be found in Rutoken SDK at: mobile/android/pkcs11/lib/librtpkcs11ecp.so.
To set librtpkcs11ecp.so library copy it to ~/SecureMessaging/app/src/main/jniLibs/armeabi-v7a/librtpkcs11ecp.so.

4. Running sample
For the sample being completely functional be sure to have installed:
- Rutoken service. Can be found in Google Play (Rutoken Control Panel) or in Rutoken SDK at: mobile/android/service/rtservice-withUI-release.apk)
Built sample can be installed either with Android Studio or using "adb" console utility.

License issues
This product includes software developed by IAIK of Graz University of Technology.

Copyright Aktiv Co. 2018.
