Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Jin  
#1 Оставлено : 26 марта 2010 г. 1:12:19(UTC)
Jin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.12.2009(UTC)
Сообщений: 119
Откуда: Moscow

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

Пробовал через Win32 API событие WM_DEVICECHANGE, для флешки всё работает. для рутокена само событие срабатывает,
но определить воткнули или выткнули рутокен неполучается.
подскажите , можно ли узнать как-нибудь иначе?
Offline Максим Коллегин  
#2 Оставлено : 26 марта 2010 г. 1:42:25(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Можно повесить поток, мониторящий SCardGetStatusChange.
Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#3 Оставлено : 27 марта 2010 г. 18:40:51(UTC)
Jin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.12.2009(UTC)
Сообщений: 119
Откуда: Moscow

чего то у меня не работает, вы уверенны что должно работать для рутокена, может только для смарткарт?

использую следующим образом

SCARDCONTEXT card=NULL;
if(SCardEstablishContext(SCARD_SCOPE_USER,0,0,&card)!=SCARD_S_SUCCESS) ....


SCARD_READERSTATE rd;
//Очистка структуры
memset((void *)&rd,0,sizeof(SCARD_READERSTATE));
rd.szReader=L"\\\\?PnP?\\Notification";
rd.dwCurrentState=SCARD_STATE_UNAWARE;

for(;;) //Цикл обработки сообщений Windows
{
//Проверка события USB устройства
if(SCardGetStatusChange (card,INFINITE ,&rd,1)==SCARD_S_SUCCESS)
{

if((rd.dwEventState&SCARD_STATE_IGNORE)==SCARD_STATE_IGNORE) MessageBox(0,L"SCARD_STATE_IGNORE",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_CHANGED)==SCARD_STATE_CHANGED ) MessageBox(0,L"Card reader is CHANGE",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_UNKNOWN)==SCARD_STATE_UNKNOWN) MessageBox(0,L"Unknows reader name",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_UNAVAILABLE)==SCARD_STATE_UNAVAILABLE) MessageBox(0,L"SCARD_STATE_UNAVAILABLE",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_EMPTY)==SCARD_STATE_EMPTY) MessageBox(0,L"SCARD_STATE_EMPTY",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_PRESENT)==SCARD_STATE_PRESENT) MessageBox(0,L"SCARD_STATE_PRESENT",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_ATRMATCH)==SCARD_STATE_ATRMATCH) MessageBox(0,L"SCARD_STATE_ATRMATCH",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_EXCLUSIVE)==SCARD_STATE_EXCLUSIVE) MessageBox(0,L"SCARD_STATE_EXCLUSIVE",L"",MB_OK);
if((rd.dwEventState&SCARD_STATE_INUSE)==SCARD_STATE_INUSE) MessageBox(0,L"SCARD_STATE_INUSE",L"",MB_OK);

if((rd.dwEventState&SCARD_STATE_MUTE)==SCARD_STATE_MUTE) MessageBox(0,L"SCARD_STATE_MUTE",L"",MB_OK);









rd.dwCurrentState=rd.dwEventState;
}

}
Offline Максим Коллегин  
#4 Оставлено : 29 марта 2010 г. 1:34:10(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
имя ридера странное какое-то. Его можно получить ScardListReaders.
Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#5 Оставлено : 29 марта 2010 г. 20:26:12(UTC)
Jin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.12.2009(UTC)
Сообщений: 119
Откуда: Moscow

Изменил имя ридера на Aktive Co. Rutoken 0 и всё заработало, т.е. правильно определяется когда Rutoken вставили когда вытащили.

А определить уникальное имя как нибудь можно?

Можноли средстваи Crypto API или Sharpei определить доступен ли закрытый ключ, и желательно без ввода пин когда к рутокену?
Offline Максим Коллегин  
#6 Оставлено : 29 марта 2010 г. 20:36:59(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
В соседней теме Александр же ответил.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.