2011-06-06 3 views
0

Я использую некоторые ресурсы локальной машины, используя функциональные возможности COM-взаимодействия, представленные в Silverlight 4.0. Следовательно, естественно, мне нужен OOB с повышенными разрешениями. Однако в моем случае я потребляю услуги WCF, размещенные на HTTPS-канале. Здесь я столкнулся с проблемой. OOB с повышенными правами доступа не позволяет мне использовать службу HTTPS, размещенную на любом другом или том же домене, предоставляя мне исключение NotFound. Обратите внимание, что я использовал самозаверяющий сертификат для среды разработки. То же самое также устанавливается в папке Trusted Root на клиентской машине, на которой я тестирую.Доступ к содержимому HTTPS из-за браузера Silverlight 4 приложения

Интересно, когда я установил параметры Fiddler (в сеансе Fiddler, Toos -> Fiddler Options -> вкладка HTTPS), чтобы перехватить трафик HTTPS, с установленным флажком Defrypt HTTPS traffic, я могу использовать одну и ту же службу HTTPS без любое исключение. Но для этого мне было сказано, что Fiddler хранит временный сертификат в каталоге Fiddler моего профиля пользователя, и в это время у меня должен быть хотя бы один сеанс Fiddler. Следовательно, это проблема сертификации. Но связано ли это в любом случае с подписанием файла XAP с требуемым сертификатом? Я не уверен. Я попробовал с самозаверяющим сертификатом и привязал URL-адрес службы уровня, чтобы использовать этот сертификат. Затем я устанавливаю тот же сертификат в доверенную корневую папку клиента. Но мне не удалось подписаться с этим сертификатом XAP.

Пожалуйста, дайте мне знать, если у вас есть работа.

ответ

0

Если код работает в контексте другого пользователя, вам необходимо поставить свой сертификат «Self-signed» в машину Trusted Root store. Запустите mmc.exe. В меню «Файл» выберите «Добавить оснастку». Добавьте оснастку «Сертификаты». Pick Локальная машина. Импортируйте Self-signed root в хранилище Trusted Root.

+0

Привет, Эрик, спасибо за ваш ответ. Кроме того, код работает в том же контексте пользователя. И я использую самоподписанный сертификат для узла, на котором размещается служба WCF, и связал канал HTTPS через этот сертификат. Этот же сертификат также присутствует в доверенном корневом хранилище. Хотя я не могу получить доступ к тому же. Я даже не мог подписывать XAP с этим сертификатом, с ошибкой, отображающей, что у сертификата нет закрытого ключа. Нужно ли использовать локально сгенерированный самозаверяющий сертификат и поместить его в доверенный корневой магазин? Или сертификат, используемый для привязки канала? –

0

У меня была такая же проблема и выяснилось, что настройки SSL в IIS были неправильными.

Я настроил IIS 7.5 только на SSL и принял клиентские сертификаты. С этими настройками я закончил с ошибкой, обнаруженной службой в OOB. После того, как IIS игнорирует клиентские сертификаты, приложение OOB работает нормально.