Доступ к HTTPS-контенту из приложений Silverlight 4 вне браузера

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

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

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

2 ответа

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

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

Если код выполняется в контексте другого пользователя, вам необходимо поместить свой "самоподписанный" сертификат в хранилище доверенных корневых компьютеров. Запустите mmc.exe. В меню "Файл" выберите "Добавить оснастку". Добавьте оснастку "Сертификаты". Выберите местную машину. Импортируйте самоподписанный корень в хранилище доверенных корней.

Другие вопросы по тегам