Форум: "Прочее";
Текущий архив: 2015.01.04;
Скачать: [xml.tar.bz2];
ВнизСервис + USB устройство = проблема? Найти похожие ветки
← →
sniknik © (2014-06-03 11:54) [0]Ситуация.
Есть сервис, у него есть тестовый режим работы "как программа", и проблема настроенное в "как программе" (и работающее) тут же перестает если запустить его "как сервис" от этого же юзера.
При том, что, если выбрать объект не использующий "внешнего" устройства то работает в любых вариантах.
У сервиса как то особо используются USB/устройства/права особые?
(на экран ничего при работе не показывает в принципе естественно, сервис, же)
Ну и детали.
С помощью IWinHttpRequest делается запрос к серверу под сертификатом из реестра.
Если это обычный виндовый сертификат "целиком реестровый" то все хорошо в любых вариациях.
Если сертификат сделанный через КриптоПро, установлен через его утилиты (установка через виндовый мастер не связывает ключ с контейнером), c хранилищем в реестре, то тоже все хорошо в любых вариантах.
А вот если то же самое (через КриптоПро) но с использованием EToken (usb устойство), то работает только если сервис запускается "как программа". Как сервис выдает ошибку - "Ошибка поддержки безопасных каналов".
(по MS (http://support.microsoft.com/kb/198970/ru) - не стандартная длинна ключа... ну думаю если ключ из токена не "выковыряло" вообще и длинна получилась 0 то это можно считать не стандартной...)
Кто что скажет? Что можно сделать, проверить?
← →
sniknik © (2014-06-03 12:22) [1]USB похоже не причем... значит КриптоПро ;(, проверил, файловый сертификат положил на флешку... с ним работает, также в любых вариантах, из под кого/каким образом бы не запустил.
Но, проверил пока только на XP, пойду еще на 7ке проблемной тоже самое проверю.
← →
sniknik © (2014-06-03 13:16) [2]Забавно... если установить "проблемный" (с EToken-ом) сертификат не "на юзера", а на машину (там выбор при установке), то он так же начинает работать в любых вариантах (и от "как программа" и от "как сервис"),
+ не зависит от того от какого юзера сервис запущен (т.е. от system-а тоже).
Но, блин, по "безопасности" нужно именно на конкретного юзера сертификат ставить, не доступно для других. ;(
← →
sniknik © (2014-06-04 17:11) [3]По моему понял в чем дело... похоже при работе "на юзера" устройство открывается драйвером в монопольном режиме (ради безопасности? ну тогда точно не получить доступ "со стороны"). Получается сервис, даже запущенный от того же юзера, но работающий в своем "окружении" не может повторно "доступиться" до ресурса (не сам конечно, а драйвер). Но ошибки доступа от драйвера нет (ключница водку делала?), то что есть уже от IE-шного объекта. Это сбивает с толку...
Почему так подумал - удалось запустить рабочий сервис (перезагрузка с, в определенный момент воткнутым токеном, в общем при успешных попытках запустить сервис первым, до логина. хотя это не всегда работает, т.е. если окно логина уже висит, то уже поздно (уже блокировано? кем? юзера еще нет, или это превентивно для всех? хз.)). Так вот при таком раскладе, сервис работает в описанном варианте "не работы", но тут же отключается работа у "как программа"...
p.s. Безопасность настолько безопасна, что не дает работать в наиболее безопасном режиме. ;)
p.p.s. "Забили" на проблему. Достало... послали клиента... в КриптоПро. ;)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.01.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c