我在开发服务器(IIS)上有一个WCF服务。该服务启用了自签名SSL和用户名身份验证。
我已经设置了一个测试ASP MVC项目,它可以成功地调用服务中的数据,如下所示:
CategoryServiceClient csc = new CategoryServiceClient();
csc.ClientCredentials.UserName.UserName = "Username";
csc.ClientCredentials.UserName.Password = "Password";
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
var a = csc.GetCategories();当我使用自签名证书时,对ServicePointManager.ServerCertificateValidationCallback的调用在这个实例中工作。
问题是我想在一个Xamarin项目中使用这个服务,这需要我使用SlSvcUtil.exe来构建客户端代码。
在命令提示符下,我导航到SLSvcUtil目录:
cd C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools然后我运行这个cmd来生成代码文档:
SlSvcUtil.exe https://x.x.x.x:2022/CategoryService.svc /directory:"c:\Users\Shaun\Desktop\Services"此操作失败,并显示以下错误:
The underlying connection was closed: Could not establish trust relationship for the SSL/TSL secure channel.我如何在没有验证检查的情况下运行这个命令,或者像我的代码样例一样自动通过验证?
-或者-
如何使用Xamarin为使用SSL的WCF服务生成服务引用?
-或者-
如何使我的自签名(开发) SSL证书能够建立信任关系?
发布于 2014-08-25 20:32:24
问题是Xamarin不能很好地与SSL或WCF使用的引用类型一起工作。
最后,我们丢弃了WCF组件,转而使用ASP Web API。
JSON来来回回,需要更多的工作,但它更容易使用/调试,而且碰巧也更具交叉兼容性。
https://stackoverflow.com/questions/19933272
复制相似问题