Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1401786497
Ice_hockey_player
2014-06-03 13:08
2015.01.04
Delphi and Informix


15-1401706348
QAZ
2014-06-02 14:52
2015.01.04
Уникод в англоязычной винде, проблемм...


15-1401741002
Юрий
2014-06-03 00:30
2015.01.04
С днем рождения ! 3 июня 2014 вторник


15-1401481802
Юрий
2014-05-31 00:30
2015.01.04
С днем рождения ! 31 мая 2014 суббота


15-1401457869
ВладОшин
2014-05-30 17:51
2015.01.04
Как трансформировать таблицу? (sql)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский