| ||||
| ||||
подскажите как скопировать сертификат именно из etokena | ||||
Ответы: | ||||
| ||||
Какой алгоритм сертификата: ГОСТ (на "КриптоПро CSP")? или RSA (на "eToken base CSP")? | ||||
| ||||
не знаю где точно посмотреть, в сертификате написано ГОСТ Р 34.11/34.10-94 etoken+крипто-про csp 2 | ||||
| ||||
Если алгоритм открытого ключа сертификата ГОСТ, то сертификат на етокене может находиться только внутри ключевого контейнера. Чтобы его добыть оттуда, нужно: 1) знать имя контейнера, если оно неизвестно - перечислить все доступные контейнеры и выбрать из них те, что на етокене (по префиксу). В двух словах - это CryptAcquireContext(&hProv, NULL, NULL, 75, CRYPT_VERIFYCONTEXT) CryptGetProvParam(hProv,PP_ENUM_CONTAINERS,...,CRYPT_UNIQUE) 2) открываем контейнер по имени CryptAcquireContext(&hProv, имя, NULL, 75, 0) 3) Открываем ключ из контейнера: CryptGetUserKey(..AT_KEYEXCHANGE (или AT_SIGNATURE) ) 4) Открываем сертификат: CryptGetKeyParam(..KP_CERTIFICATE..) | ||||
| ||||
может не правильно рассказал что хочется получить. есть приложение когда запускаю его от локального пользователя всё ок, всё работает. Как только запускаю его как сервис от имени Local System то приложение не работает. Пробовал запускать сервис от своего имени тоже не работает. подскажите что может не хватать | ||||
| ||||
Если это Win2003 и выше, то "злой" MS сильно ограничил доступ к считывателям смарткарт (в т.ч. виртуальным) при обращении из служб. В принципе, известно, где и какие права надо добавить, но, к сожалению, это надо делать каждый раз после перезагрузки ОС. Возможно, производитель данного оборудования (Аладдин) напишет утилиту, которая будет этим заниматься. | ||||
| ||||
а подскажите где какие права нужно поставить ? | ||||
| ||||
Службу "Смарт-карты" ("Smart Card") запускать от аккаунта с правами администратора (лучше от того же, от которого работает Ваш сервис). Далее на событие (Event) с названием "Microsoft Smart Card Resource Manager Started" нужно дать полные права этому же аккаунту, после чего перестартовать службу "Смарт-карты" После перезагрузки ОС - всё заново. Для редактирования прав на событие я использовал утилиту accessmaster.exe, которую прислал Аладдин. | ||||