c# - 异常 - System.ServiceModel.Security.SecurityNegotiationException:“无法为 SSL/TLS 安全通道建立信任关系
问题描述
我在 VisualStudio 中制作肥皂客户端。我尝试使用 X509Certificate 发送任何请求。我收到错误:
System.ArgumentException: „提供的 URI 方案“http”无效;预期的“https”。参数名称:via”</p>
我的自定义绑定代码如下所示:
<customBinding>
<binding name="myCustomBindingConfig">
<security authenticationMode="CertificateOverTransport"
defaultAlgorithmSuite="Basic256"
requireDerivedKeys="true"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
</security>
<textMessageEncoding messageVersion="Soap11"></textMessageEncoding>
<httpsTransport maxReceivedMessageSize="2000000000" />
</binding>
</customBinding>
于是我把http改成了https,但是又出现了一个错误:
System.ServiceModel.Security.SecurityNegotiationException:“无法为具有权限 'services.pl' 的 SSL/TLS 安全通道建立信任关系。”</p>
这是测试环境,服务使用自签名证书。
我已经尝试添加:
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
在我的代码的顶部,正如这里提到的那样,但没有发生任何事情(我仍然有错误)。我现在能做什么?
解决方案
请检查以下几点来解决问题:
您是否使用了证书中的正确名称?
您是否有服务器的 DNS 和视线?
新服务器机器的时钟设置正确吗?
如果你从服务器浏览到soap服务,你能得到SSL吗?
证书是否安装在正确的位置,证书信任链问题是否有问题。
服务器的机器级代理设置正确吗?
推荐阅读
- java - 旋转器方法的适当性
- powerapps - 共享点人员或组字段的电源应用程序问题
- git - git pull 并丢失任何本地更改
- python - 如何保持多于三列的行大于(在 Pandas 中)
- angular - 如何在 Startup.cs 中使用带有 ASP.NET Core 的 Angular SPA 参数管理 HTML5 路由回退?
- cython - kmer 计数与 cython 实施
- javascript - 来自用户不在消息中的回复
- firebase - 如果我在 Firebase 文档上注册多个侦听器,是否会因多次读取同一个快照而向我收费?
- sql - 查找具有最多 3 个其他多边形的相邻多边形
- php - PHP函数乱序输出数据