| ||||
| ||||
Есть e-Token, USB. Собственно, вопрос - как проверить, подключен ли e-Token к компьютеру или нет без всяческого уведомления об этой проверке пользователя? Заранее спасибо за все ответы. :о) | ||||
Ответы: | ||||
| ||||
Вероятно, вопрос лучше задать производителю названного оборудования. Это компания Аладдин. http://www.aladdin.ru | ||||
| ||||
Василий, на сайте я, конечно, посмотрю. Но я думал о решении данного вопроса средствами CryptoAPI. Например, пробовать подписать пару байтов. При шифровании потребуется закрытый ключ. Если его нет - появляется запрос CryptoPRO. Можно ли этот запрос средствами CryptoAPI обойти/перехватить, и если не подписывается - значит eToken-а нет. И, может, в CryptoAPI есть еще какие-нибудь средства. Я пока не придумал, как это сделать... | ||||
| ||||
Трюк с подписью (при использовании сертификата) не пройдёт, т.к., если не хочется окошек, то подпись обломается из-за отсутствия ввода пин-кода. Лучше так: 1. Если известно имя контейнера на токене, можно просто вызвать CryptAcquireContext с этим именем контейнера и с флажком CRYPT_SILENT. Успех будет означать, что токен подключен. При этом, окошки пользователю рисоваться не будут. 2. Если имя контейнера неизвестно, можно запустить перечисление всех контейнеров (CryptGetProvParam, параметр PP_ENUMCONTAINERS) с флажком CRYPT_UNIQUE и анализировать префикс имени контейнеров - для токенов это будет SCARD\eToken. | ||||
| ||||
Попробуте это сделать с помошью функций C_GetSlotInfo и C_GetTokenInfo из интерфейса PKCS#11. | ||||
| ||||
Александр, собственно, речь шла о Crypto API, а не о CAPICOM. | ||||
| ||||
К CAPICOM и CryptoAPI это никакого отнощения не имеет. В оригинальном вопросе на это ссылок нету: "Есть e-Token, USB. Собственно, вопрос - как проверить, подключен ли e-Token к компьютеру или нет без всяческого уведомления об этой проверке пользователя?" Я привел функции из интерфейса PKCS#11 aka Cryptoki. Факт подключения токена к компьютеру можно ещё установить через MS Smartcard Manager. Ответ предложеннный Василием имеет один недостаток - на токене должен быть хотя-бы один контейнер. С пустым токеном этот фокус не прокатит. | ||||
| ||||
MS Smartcard Manager - енто, собственно, что? А поподробней... :) | ||||