RutokenPkcs11Interop – расширение библиотеки Pkcs11Interop для работы через интерфейс PKCS#11 с устройствами семейства Рутокен ЭЦП.
Поддерживает ГОСТ-2012, работу с CMS-форматом, запросами на сертификаты PKCS#10 и многое другое.
Для демонстрации работы в нашем аккаунте на GitHub размещены примеры приложений на Xamarin для iOS и Android. Их решение находятся в файле Xamarin.Samples.sln.
Фреймворк Xamarin позволяет удобно разрабатывать кроссплатформенные C# приложения за счет разделения внутренней логики и особенностей мобильных платформ.
Добавьте в ваш проект PKCS#11 библиотеку. Для этого просто подключите к вашему проекту NuGet пакет Aktiv.RtPkcs11Ecp.Natives.Android.
Для работы с PKCS#11 вам также необходимо добавить в проект две библиотеки: rtserviceconnection.aar и pkcs11jna.jar. Их можно взять из Рутокен SDK в директориях sdk\mobile\android\libs и sdk\java\samples\lib. Для того, чтобы добавить их в свой проект опишите опишите их в файле проекта:
<ItemGroup> <AndroidAarLibrary Include="Jars\rtserviceconnection-*.aar" /> <AndroidJavaLibrary Include="Jars\pkcs11jna-*.jar" /> </ItemGroup> |
В этом примере мы положили библиотеки в папку Jars.
Помимо jar и aar библиотек вам нужно добавить в свой проект саму pkcs#11 библиотеку.
Добавьте в ваш проект PKCS#11 библиотеку. Для этого просто подключите к вашему проекту nuget пакет Aktiv.RtPkcs11Ecp.Natives.iOS. Также в файл Info.plist добавьте строчки:
<key>UISupportedExternalAccessoryProtocols</key> <array> <string>com.aktivco.rutokenecp</string> </array> |
Этого будет достаточно для работы с Рутокен ЭЦП Bluetooth.
Для того, чтобы ваше приложение умело работать также и с Рутокен ЭЦП 3.0 NFC:
Добавьте в файл Info.plist строчки:
<key>NFCReaderUsageDescription</key> <string>Allow NFC scanning</string> <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key> <array> <string>F0000000005275746F6B656E</string> <string>A00000039742544659</string> </array> |
В файл Entitlements.plist добавьте строчки:
<key>com.apple.developer.nfc.readersession.formats</key> <array> <string>TAG</string> </array> |
Убедитесь, что ваш сертификат разработчика для iOs позволяет разрабатывать приложения с использованием NFC меток. |