我在IIS 7中使用HTTPS托管了一个WCF服务.当我在Internet Explorer中浏览这个网站时,它就像一个魔咒,这是因为我将证书添加到了本地根证书颁发机构存储中.

我在一台机器上开发,所以客户端和服务器是同一台机器.证书直接从IIS 7管理单元进行自签名.

我现在不断地犯这个错误...

无法为具有权限的SSL/TLS安全通道建立信任关系.

... 从客户端控制台调用时.

我使用findprivatekeycacls.exe手动授予自己证书的权限和网络服务.

我try 使用SOAPUI连接到服务,这是可行的,所以这一定是我的客户机应用程序中的问题,它是基于过go 使用http的代码.

我还能往哪里看我似乎已经用尽了所有的可能性,为什么我无法连接?

推荐答案

作为一种解决方法,您可以在客户端的ServicePointManager's ServerCertificateValidationCallback中添加一个处理程序:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (se, cert, chain, sslerror) =>
        {
            return true;
        };

但请注意,this is not a good practice完全忽略服务器证书,并告诉服务点管理器,任何证书都可以,这会严重损害客户端安全.您可以对此进行改进并执行一些自定义判断(针对证书名称、散列等). 至少您可以在使用测试证书时规避开发过程中的问题.

.net相关问答推荐

将多行参数传递给Power Shell中的DotNet Pack命令

从容器化客户端应用程序连接到 OPC-UA 服务器

通过 System.Net.Mail 的 VB SMTP 停止工作

使用 MassTransit、.NET Core 和 RabbitMQ 的设计挑战

使属性只能通过绑定的 Editor(component) 编辑

MongoDB GridFs with C#,如何存储图片等文件?

查找所有源硬编码字符串

C# 中的批量更新

在 .NET 反射中使用 GetProperties() 和 BindingFlags.DeclaredOnly

使用返回随机结果的函数进行单元测试

LINQ 性能常见问题解答

使用 C# 在 .NET 4.0 中 Task.Run 的替代方法是什么?

属性应该与其类型同名吗?

如何在我的 C# 程序的面板中运行另一个应用程序?

如何禁用 Alt + F4 关闭表单?

如何使用 c# 仅获取目录中的文件名?

无法加载文件或程序集Antlr3.Runtime (1)或其依赖项之一

C# (.NET) 设计缺陷

当它被抛出和捕获时,不要在那个异常处停止调试器

通过反射获取公共静态字段的值