Перехват ошибок сертификата уровня IIS в коде C # - PullRequest
0 голосов
/ 03 сентября 2010

Я делаю обработчик SOAP, который будет защищен сертификатами X509, и одно из требований заключается в том, чтобы программа как можно больше регистрировала в существующей программе просмотра журнала.Очевидно, что существует много ошибок, связанных с сертификатами, которые обрабатываются на уровне IIS, что в данном случае неприемлемо.

У меня уже есть часть ведения журнала, решенная в коде C #.Эта часть проста.Более сложная часть заключается в том, чтобы ошибки уровня IIS входили в код, а не возвращались клиенту как бесполезные веб-ошибки.Я посмотрел на эту ветку , но в нашем проекте отсутствует папка App_Code из-за характера происходящего, поэтому он не очень применим.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2010

В IIS6 я думаю, что вам нужен фильтр ISAPI (только C ++), чтобы посмотреть на запрос, прежде чем он будет считаться недействительным (например, из-за ошибок сертификата).

Если я не ошибаюсь, SSL в IIS также реализован фильтром ISAPI, поэтому я сомневаюсь, что он имеет ловушки для лучшей обработки / регистрации ошибок сертификата.

В моей компании возникла проблема ссертификаты в проекте, и мы обратились в службу поддержки Microsoft за инструментами / журналами, которые помогут в диагностике.Не было никакого удовлетворительного ответа относительно возможности получить больше информации об ошибке.

Я полагаю, что повторное внедрение SSL-рукопожатия является слишком большой работой для вашего проекта, поэтому единственный способ получить больше информации - это купить такую.реализация SSL, при условии, что она существует для IIS6 и предоставляет вам необходимую информацию.

0 голосов
/ 03 сентября 2010

Предполагая, что вы работаете на IIS7 или более поздней версии, общий ответ также будет применим к вам - вы можете использовать собственный HttpModule для перехвата ошибок уровня IIS для вашего приложения. Просто, вместо того, чтобы поместить модуль в App_Code, соберите его с вашим приложением и измените соединение, чтобы оно там выглядело.

...