PKCS#11 на Android (Flutter)
Здравствуйте!
Подключаю библиотеку PKCS#11 к программе на Flutter (Dart). Использую вызов функций из динамически загружаемой библиотеки. Для Windows использую библиотеку rtpkcs11ecp.dll, все работает.
Для Android использую библиотеку librtpkcs11ecp.so, обнаружены проблемы:
1. Неправильное выравнивание в структуре CK_INFO, возвращаемой функцией C_GetInfo. Дамп памяти для обоих платформ приложен. Красным выделены лишние байты.
Windows:
Android:
2. Неправильное выравнивание в структуре возвращаемой функцией C_GetSlotList. Дамп памяти для обоих платформ приложен.
Windows:
Android:
3. Функция C_WaitForSlotEvent возвращает CKR_NO_EVENT, а C_GetSlotList кол-во активных слотов 0, независимо от наличия или отсутствия токена подключенного через NFC.
Используется Рутокен 3.0 ЭЦП NFC. Панель управления Рутокен установлена. Она NFC-токен обнаруживает. Приложение Демо-смена установлено, оно так же видит NFC-токен, но оно использует другую библиотеку, не PKCS#11.