Павел Анфимов пишет:PetrM, Рутокен Плагин ориентирован быть API для PKI (инфраструктура открытых ключей).
Работа с объектами CKO_DATA не поддерживается.
Расскажите, пожалуйста, для чего вам это нужно?
Постараюсь описать в подробностях.
1. Есть приложение, которое внутри себя имеет БД из имён пользователей и паролей.
В этом приложении существует возможность работы только авторизованным пользователям. Авторизация может происходить как с помощью пароля, так и информации с объектами CKO_DATA (По сути, это тот же самый пароль, но который вводит не сам пользователь, а логика приложения.)
Пользователю нужно знать только PIN для того, чтобы приложение могло изъять данные из объектами CKO_DATA и проверить соответствие пользователя и пароля - CKA_VALUE из CKO_DATA. (Не знаю почему было так сделано, это логика древних, которая досталась на поддержку)
2. В приложении появился web интерфейс. Появилась необходимость поддержки авторизации через web интерфейс.
С логином и паролем проблем нет, а вот с токенами есть, т.к. получается через плагин доступа к CKA_VALUE из CKO_DATA нет.
Со стороны приложения используется C++ логика библиотеки pkcs11. С плюсовой стороной проблем нет, там можно сформировать любой объект и записать в его поля данные в соответствии с документацией.
А вот со стороны web'а есть, т.к. не очень очевидно какие данные можно вытащить из носителя, а какие нет.
Может тоже подскажете по объектам. В какие объекты можно записать данные что бы с помощью плагина их можно было вытащить? Может это что-то из этого - CKO_CERTIFICATE, CKO_PUBLIC_KEY, CKO_PRIVATE_KEY, CKO_SECRET_KEY? И какое поле атрибута для этого лучше подойдет?
Описанная логика авторизации реализована для токенов JaCarta-2 ГОСТ, Рутокен Lite, Рутокен ЭЦП PKI, Рутокен ЭЦП 2.0, Рутокен ЭЦП 2.0 Flash, Рутокен ЭЦП Bluetooth.