gpt4 book ai didi

c# - SlSvcUtil.exe 底层连接被关闭 : Could not establish trust relationship for the SSL/TSL secure channel

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:34 26 4
gpt4 key购买 nike

我在开发服务器 (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 证书能够建立信任关系?

最佳答案

问题是 Xamarin 不能很好地与 SSL 或您将与 WCF 一起使用的引用类型一起工作。

最后,我们放弃了 WCF 组件,转而使用 ASP Web API。

JSON 来回,需要更多的腿部工作,但它更容易使用/调试,而且碰巧也更兼容。

关于c# - SlSvcUtil.exe 底层连接被关闭 : Could not establish trust relationship for the SSL/TSL secure channel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19933272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com