Jump to content
cryptoktulhu

Выбор приложения на многоаплетном токене

Recommended Posts

Добрый день.

Как выбрать приложение, на котором генерируется пара, выполняется подпись или удаляется контейнер? Может быть у вас есть внутренняя логика, по которой выполняется поиск приоритетного приложения? Тогда опишите эту логику. При удалении всегда происходит вывод окна выбора контейнера и приложения. Как сделать выбор в режиме CRYPT_SILENT?

 

Share this post


Link to post
Share on other sites

Добрый день!

Вы не могли пояснить вопрос? Что именно Вы пытаетесь сделать и для чего? Какая версия CSP используется? Используется ли внешнее устройство?

Share this post


Link to post
Share on other sites

Использую многоаплетный токен. Пытаюсь, например, удалить с него контейнер в режиме CRYPT_SILENT. Ничего не выходит. Без CRYPT_SILENT получаю окно выбора приложения на токене и контейнера. Мне необходимо производить выбор приложения и контейнера в режиме CRYPT_SILENT, т.е. программно. Версия 4.2.2.36190

 

Share this post


Link to post
Share on other sites

Какой именно токен используете? Какие драйвера и версии? Можете прислать скриншоты? Если Вы пишете свой код, можете прислать пример, демонстрируюший проблему?

Share this post


Link to post
Share on other sites

Добрый день.

Высылаю вам пример. И раз уж я его написал, задам сразу несколько вопросов по коду примера:

  1. Как определить состояние аутентифицированности на внешнем устройстве(токене)? При выполнении CryptSetProvParam параметром PP_KEYEXCHANGE_PIN, на сколько я понимаю, аутентификация не происходит. Пароль просто запоминается. Как можно заставить принудительно выполнить аутентификацию для того, чтобы определить правильность пароля?
  2. При вызове CryptGenKey без предварительной аутентификации возникает ошибка SCARD_E_READ_ONLY_CARD, которая не описана в документе 'CSP_рук-во разработчика.pdf'. Ясно, что требуется аутентификация, но возникает вопрос: для всех ли типов устройств(токенов) будет возникать именно эта ошибка при вызове функций провайдера требующих аутентификации или для каждого своя?
  3. При удалении контейнера без CRYPT_SILENT возникает окно запроса пина устройства даже если пин уже введен. Если же попытаться удалить контейнер с флагом CRYPT_SILENT, возникает ошибка NTE_KEYSET_NOT_DEF, хотя контейнер существует и это можно проверить оконной утилитой VipNet CSP. Как удалить контейнер без вывода окна запроса пина?
  4. Не ясно как выбирать приложение, с помощью которого будет генерироваться или удаляться пара ключей. Т.е. если вставлен токен, на борту которого установлено несколько приложений, не понятно какое из них будет задействовано при выполнении той или иной функции провайдера.

Окружение теста:

  • windows 8 x64
  • Токены JC104(eToken PRO (Java)  /  JaCarta ГОСТ), JC105(JaCarta PKIJaCarta ГОСТ) (думаю можно использовать любой многоаплетный токен)
  • Единый клиент 2.8.0.1402 - в нем содержатся все драйвера для всех устройств jacarta (http://aladdin-rd.ru/catalog/jacarta_unifiedclient/)
  • SafeNet Authentication Client 8.3.52.0 - в нем содержатся драйвера для устройств etoken

SelectTokenApp.zip

Share this post


Link to post
Share on other sites

Добрый день!

Наши разработчик откорректировал код (ответы на вопросы как в самом коде, так и в комментариях к нему).

Прилагаю архив.

test_twin_applet_token.7z

Share this post


Link to post
Share on other sites

Добрый день.

Спасибо за содержательный и понятный ответ.

Из теста не ясно как выбирать приложение токена(в случае многоапплетного токена), на котором будет создана ключевая пара, в режиме CRYPT_SILENT. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.