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