Bluetooth-рутокен и Аврора ОС 4.0.2 с cryptopro.csp-5.0.12600
Здравствуйте!
Не удается считать данные с Bluetooth-Рутокена на устройстве с Аврора ОС.
Токен: Aktiv Rutoken ECP BT - bluetooth-бэйджик с тиснением "РУТОКЕН" на корпусе, с аккумулятором, кнопкой включения/выключения с красным и синим светодиодами, + разъем micro-usb для зарядки и подключения по USB.
Графическое приложение CPTools на Ubuntu на токене определяет 3 контейнера.
Вот вывод консольной команды:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Using slot 0 with a present token (0x0)
Public Key Object; GOSTR3410
PARAMS OID: 06072a850***
VALUE: d57dfe6f2***
76f5406d1***
label:
ID: 056ac71df***
Usage: verify
Certificate Object; type = X.509 cert
label: Rutoken Plugin
ID: 056ac71d***
Устройство: INOI P4903, Аврора 4.0.2.175(Балаково).
На устройстве установлены следующие пакеты:
[root@INOIP4903 defaultuser]# pkcon search pcsc
Поиск по подробной информации
Запуск
Обновление списка приложений
Запрос
Завершено
Установлен ifd-rutokens-1.0.7-1.2.8.omp.armv7hl (installed) Aktiv Co Rutoken S driver
Установлен pcsc-lite-1.9.2-1.3.2.omp.armv7hl (installed) PC/SC Lite smart card framework and applications
Установлен pcsc-lite-ccid-1.4.34-1.2.8.omp.armv7hl (installed) Generic USB CCID smart card reader driver
Установлен pcsc-lite-ccid-debuginfo-1.4.34-1.2.8.omp.armv7hl (installed) Debug information for package pcsc-lite-ccid
Установлен pcsc-lite-debuginfo-1.9.2-1.3.2.omp.armv7hl (installed) Debug information for package pcsc-lite
Установлен pcsc-lite-devel-1.9.2-1.3.2.omp.armv7hl (installed) PC/SC Lite development files
Установлен pcsc-lite-libs-1.9.2-1.3.2.omp.armv7hl (installed) PC/SC Lite libraries
Установлен ru.cryptopro.csp-5.0.12600-4.armv7hl (installed) CryptoPro CSP Aurora. Build 12600.
, активирована лицензия для криптопро.
Токен к устройству пытался подключать отдельно по bluetooth, отдельно по USB, одновременно по bluetooth и USB.
На устройстве в приложении CryptoPro CSP данные с токена не отображаются, всегда отображается только HDIMAGE/NO_UNIQUE без контейнеров.
Также данные с токена не удается обнаружить используя следующий код (обнаруживается только HDIMAGE/NO_UNIQUE):
HCRYPTPROV hProvider = 0;
if(CryptAcquireContext(&hProvider, nullptr, nullptr, PROV_GOST_2001_DH, CRYPT_VERIFYCONTEXT))
{
DWORD readerDataLength = 0;
if(CryptGetProvParam(hProvider, PP_ENUMREADERS, nullptr, &readerDataLength, CRYPT_MEDIA | CRYPT_FIRST))
{
BYTE *readerInfo = static_cast<BYTE *>(malloc(readerDataLength));
if(readerInfo)
{
for(BYTE searchFlags = CRYPT_MEDIA | CRYPT_FIRST; true; searchFlags = CRYPT_MEDIA)
{
memset(readerInfo, 0, readerDataLength);
if(CryptGetProvParam(hProvider, PP_ENUMREADERS, readerInfo, &readerDataLength, searchFlags))
{
// ... handle reader
}
else {
DWORD errorCode = GetLastError();
if(errorCode != ERROR_NO_MORE_ITEMS)
qCritical() << "Can`t get reader info, error code:" << errorCode;
break;
}
}
free(readerInfo);
}
}
CryptReleaseContext(hProvider, 0);
}
В проекте тестового приложения:
В yaml-файле прописал такую зависимость:
Requires:
- libpcsclite.so.1
В desktop-файле прописал такие разрешения:
[X-Sailjail]
Permissions=Bluetooth;PublicDir
Подскажите, как подключить Рутокен к устройству на Аврора ОС и считать с него данные?
---------------------
Update 1:
Следуя шагам в посте https://www.cryptopro.ru/forum2/default … post127022 на форуме криптопро:
После установки пакета usbutils удалось проверить, что сам токен виден системой через команду lsusb:
[root@INOIP4903 defaultuser]# pkcon install usbutils
Сопоставление
Запрос
Проверка изменений
Завершено [ ] (0%)
Следующие пакеты должны быть установлены:
usbutils-014+git1-1.2.9.omp.armv7hl Linux USB utilities
Продолжить с этими изменениями? [N/y] y
Установка
Запуск
Запрос
Разрешение зависимостей
Установка пакетов
Загрузка пакетов
Установка пакетов
Завершено
[root@INOIP4903 defaultuser]#
[root@INOIP4903 defaultuser]# lsusb
Bus 001 Device 002: ID 0a89:0030 Aktiv Rutoken ECP
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Не знаю, как запускать сервисы на Авроре, но, похоже, проблема в службе pcscd:
[defaultuser@INOIP4903 ~]$ /usr/libexec/ru.cryptopro.csp/bin/csptest -card -enum -v -v
CPRO_VAR_PATH not set, using defaults
/home/defaultuser found!
/home/defaultuser/Public found!
/home/defaultuser/Public/.config/ found!
/home/defaultuser/Public/.config/cprocsp/ found!
/home/defaultuser/Public/.config/cprocsp//users found!
/home/defaultuser/Public/.config/cprocsp//users/stores found!
/home/defaultuser/Public/.config/cprocsp//keys found!
/home/defaultuser/Public/.config/cprocsp//tmp found!
/home/defaultuser/Public/.config/cprocsp//dsrf found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db1 found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db2 found!
ERROR: SCardEstablishContext()
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,000 sec
[ErrorCode: 0x8010001d]
---------------------
Update 2:
[defaultuser@INOIP4903 ~]$ /usr/libexec/ru.cryptopro.csp/bin/csptest -keyset -enum_container -verifycontext -fqcn
CPRO_VAR_PATH not set, using defaults
/home/defaultuser found!
/home/defaultuser/Public found!
/home/defaultuser/Public/.config/ found!
/home/defaultuser/Public/.config/cprocsp/ found!
/home/defaultuser/Public/.config/cprocsp//users found!
/home/defaultuser/Public/.config/cprocsp//users/stores found!
/home/defaultuser/Public/.config/cprocsp//keys found!
/home/defaultuser/Public/.config/cprocsp//tmp found!
/home/defaultuser/Public/.config/cprocsp//dsrf found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db1 found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db2 found!
CSP (Type:80) v5.0.10011 KC1 Release Ver:5.0.12600 OS:Linux CPU:ARM FastCode:NoHardwareSupport.
AcquireContext: OK. HCRYPTPROV: 28855219
OK.
Total: SYS: 0,020 sec USR: 0,260 sec UTC: 0,280 sec
[ErrorCode: 0x00000000]
Поиск pcscd ничего не дает:
[defaultuser@INOIP4903 ~]$ pkcon search pcscd
Поиск по подробной информации
Запуск
Запрос
Завершено