Page tree

RutokenPkcs11Interop –  расширение библиотеки Pkcs11Interop для работы через интерфейс PKCS#11 с устройствами семейства Рутокен ЭЦП.
Поддерживает ГОСТ-2012, работу с CMS-форматом, запросами на сертификаты PKCS#10 и многое другое.
 
Для демонстрации работы в нашем аккаунте на GitHub размещены примеры приложений на Xamarin для iOS и Android. Их решение находятся в файле Xamarin.Samples.sln. 

Фреймворк Xamarin позволяет удобно разрабатывать кроссплатформенные C# приложения за счет разделения внутренней логики и особенностей мобильных платформ. 

Особенности сборки для Android

Добавьте в ваш проект PKCS#11 библиотеку. Для этого просто подключите к вашему проекту NuGet пакет RutokenPkcs11Natives

Для работы с PKCS#11 вам также необходимо добавить в проект две библиотеки: rtserviceconnection.aar и pkcs11jna.jar. Их можно взять из Рутокен SDK в директориях sdk\mobile\android\libs и sdk\java\samples\lib. Для того, чтобы добавить их в свой проект опишите опишите их в файле проекта:

добавление jar и aar бибилотек в проект
<ItemGroup>
  <AndroidAarLibrary Include="Jars\rtserviceconnection-*.aar" />
  <AndroidJavaLibrary Include="Jars\pkcs11jna-*.jar" />
</ItemGroup>


В этом примере мы положили библиотеки в папку Jars.

Помимо jar и aar библиотек вам нужно добавить в свой проект саму pkcs#11 библиотеку. 

Особенности сборки для iOS

Минимальная настройка

Добавьте в ваш проект PKCS#11 и RtPcsc-фреймворки.

Фреймворки лежат в Рутокен SDK. Внутри архива фреймворки лежат по пути:

  • mobile/ios/pcsc/lib/RtPcsc.framework (Rutoken SDK);
  • mobile/ios/pkcs11/lib/rtpkcs11ecp.framework (Rutoken SDK);
  • openssl/bin/3.0/rtengine-3.0/ios-arm64/rtengine.framework (Rutoken SDK);
  • openssl/bin/3.0/openssl-3.0/ios-arm64/openssl.framework (Rutoken SDK).


Также в файл Info.plist добавьте строчки:

Info.plist
<key>UISupportedExternalAccessoryProtocols</key>
<array>
  <string>com.aktivco.rutokenecp</string>
</array>


Этого будет достаточно для работы с Рутокен ЭЦП Bluetooth.

Добавление поддержки устройств с NFC

Выполните шаги руководства из раздела "Для работы с NFC устройствами Рутокен необходимо".

  • No labels