捕获C#代码中的IIS级证书错误

时间:2010-09-03 18:28:47

标签: c# iis certificate x509

我正在制作一个将使用X509证书保护的SOAP处理程序,其中一个要求是程序在现有日志查看器中尽可能多地记录。显然,在IIS级别处理的证书存在很多错误,在这种情况下是不可接受的。

我已经在C#代码中解决了日志记录部分。那部分很容易。更难的部分是让IIS级错误进入代码而不是作为无用的Web错误返回到客户端。我查看了this thread,但由于所发生的事情的性质,我们的项目缺少App_Code文件夹,所以它并不是非常适用。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

假设您在IIS7或更高版本上运行,一般答案也适用于您 - 您可以使用自定义HttpModule来捕获应用程序的IIS级错误。只是,不是将模块放在App_Code中,而是使用您的应用程序构建它并更改连线以查看它。

答案 1 :(得分:0)

对于IIS6,我认为您需要一个ISAPI过滤器(仅限C ++),以便在被视为无效之前查看该请求(例如,由于证书错误)。

如果我没有弄错,IIS中的SSL也是由ISAPI过滤器实现的,所以我怀疑它是否有更好的处理/记录证书错误的钩子。

我的公司在项目中遇到了证书问题,我们向Microsoft支持服务部​​门询问了有助于诊断的工具/日志。关于获得有关错误的更多信息的能力,没有令人满意的答案。

我认为重新实施SSL握手对于您的项目而言工作量太大,因此获取更多信息的唯一方法是购买这样的SSL实现,假设IIS6存在一个并为您提供所需的信息。