验证单个HttpWebRequest的证书

时间:2011-02-21 10:33:10

标签: c# httpwebrequest ssl-certificate

我正在开发一个实用程序库,该库将集成到可能非常大的应用程序中。此库的一个目的是使用https通信联系中央服务器。我想处理此调用的ssl证书验证(可能只接受来自此中央服务器的任何证书),但我只想验证此单个请求。

据我所知,这种验证有一个静态验证回调:

ServicePointManager.ServerCertificateValidationCallback

我可以从我的实用程序库中明确指定一个委托,或者将一个事件连接到委托,但这实际上将我挂钩到整个应用程序的验证过程中,我真的只想验证我的特定HttpWebRequest的证书。

有没有办法只针对我的特定请求挂钩证书验证管道?

1 个答案:

答案 0 :(得分:1)

您可以从库中创建新的appdomain。然后,在该appdomain内,使用您拥有的自定义认证回调向目标服务器发起请求。这将确保在其他appdomains中运行的其他请求不会获得您的证书回调实现。