在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天在通过C#访问Webservice时遇到一个问题,首先通过对方提供的wsdl生成了调用代理类,在测试能否正常访问时,访问正式环境,一切正常,当访问测试环境是,总是报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”,这个问题是由于Https证书无效造成的,解决方法非常简单,只要我们在调用Https以前将所有证书设置成都可信就可与了。具体代码如下: 1 public static class SSLUtil 2 { 3 /// <summary> 4 /// Sets the cert policy. 5 /// </summary> 6 public static void SetCertificatePolicy() 7 { 8 ServicePointManager.ServerCertificateValidationCallback 9 += RemoteCertificateValidate; 10 } 11 12 /// <summary> 13 /// Remotes the certificate validate. 14 /// </summary> 15 private static bool RemoteCertificateValidate(object sender, X509Certificate cert,X509Chain chain, SslPolicyErrors error) 16 { 17 // trust any certificate!!! 18 return true; 19 } 20 }
SSLUtil.SetCertificatePolicy();
2.HttpWebRequest 请求带有身份请求 其实HttpWebRequst就有身份验证属性 HttpWebRequest.Credentials 属性既是,我们在进行验证的时候只需要设置该属性就可以,至于如果赋值可以通过 NetworkCredential、或者 CredentialCache 两个类均属于 System.Net 命名空间下面,具体可以参见MSDN
|
请发表评论