Silverlight принять недействительный сертификат
Я делаю веб-запросы https в silverlight, используя классы фреймворка "WebRequest"/"WebResponse". Проблема в том, что я делаю запрос к URL- адресу, например: https://12.34.56.78/ Я получаю обратно подписанный сертификат, в качестве субъекта которого указано доменное имя, например: www.mydomain.com. Следовательно, это приводит к ошибке несоответствия удаленного сертификата.
Первый вопрос: могу ли я как-то принять недействительный сертификат и получить содержимое WebBresponse? (даже если это связано с использованием других библиотек, я открыт для этого)
Дополнительные детали: (для тех, кто интересуется, зачем мне этот сценарий)
Я пытаюсь предоставить клиенту доступ к приложению silverlight, развернутому на тестовом сервере.
Клиент получает доступ к приложению Silverlight по адресу: www.mydomain.com/app
Затем я делаю несколько запросов на отдых: https://xx.mydomain.com/
Проблема в том, что я не хочу делать запросы на https://xx.mydomain.com/, так как это на нашем производительном сервере. По этой причине я использую https://12.34.56.78/ вместо https://xx.mydomain.com/.
У клиента есть некоторые брандмауэры / прокси-серверы, и если я просто изменю его файл hosts и сопоставлю https://xx.mydomain.com/ с 12.34.56.78, веб-запросы не будут преобразованы в сопоставленный IP-адрес. Я говорю это потому, что в его сети веб-запросы терпят неудачу, если я пытаюсь это сделать, в моей сети я могу использовать меняющиеся хосты без проблем.
ОБНОВЛЕНИЕ: Устранена проблема путем развертывания тестовых выпусков на альтернативной версии: https://yy.domain.com/ и предоставления пользователю возможности настраивать для целей тестирования, базовый URL-адрес которого я запрашиваю: https://yy.domain.com/.
Использование сертификата, содержащего IP-адрес субъекта или альтернативного субъекта, возможно, также сработало бы, но стоило бы некоторых денег для выдачи сертифицированным провайдером и было бы не очень хорошим, поскольку IP-адреса могли бы измениться.
1 ответ
После дальнейших исследований похоже, что Microsoft не добавит эту функцию слишком рано, если не будет сценария для использования без тестирования / отладки. Смотрите: http://connect.microsoft.com/VisualStudio/feedback/details/368047/add-system-net-servicepointmanager-servercertificatevalidationcallback-property