Exchange开发(三)- 在Https(SSL)执行web请求

王朝other·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

在做Exchange的应用时,WebDAV可能是用得比较多的一种开发技术。WebDAV是对Http协义的扩展,可以在C#中使用Web请求来对Exchange中的信息进行访问。

当我将Exchange虚拟目录设置为需要SSL安全通道时,并使用Windows 2000 Server自带的证书服务颁发自已的证书,当封装WebDAV请求时

WebResponse response = (HttpWebResponse)request.GetResponse();

系统会抛出WebException异常,其Status属性为WebExceptionStatus.TrustFailure。

当将Exchange虚拟目录设置为不需要SSL安全通道时,则不引发任何异常。

原因:是由于安全证书的信任问题,因为你没有配置好信任你的企业安全证书;你可以尝试使用IE打开你所请求的URL,如果收到一个安全警告,代表安全证书还没有配置为信任的安全证书,则使用上述方法时会抛出异常;如果没有收到一个安全警告,表示你已经信任了此安全证书,则不会抛出异常。

解决方法:

方法1、配置信任你访问的站点安全证书,则不会抛出WebException异常;

方法2、实现ICertificatePolicy接口,在CheckValidationResult方法中返回true,再设置ServicePointManager的

CertificatePolicy属性为刚刚实现的类;

代码示例如下:

然后再执行ServicePointManager.CertificatePolicy = new TrustAllCertification()

即可

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航