【发布时间】:2021-12-06 02:04:33
【问题描述】:
我在 VisualStudio 中制作肥皂客户端。我尝试使用 X509Certificate 发送任何请求。 我得到了错误:
System.ArgumentException: „提供的 URI 方案“http”无效;预期的“https”。参数名称:via”
我的自定义绑定代码如下所示:
<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:“无法为 SSL/TLS 安全通道与权限 'services.pl' 建立信任关系。”
这是测试环境,服务使用自签名证书。
我已经尝试添加:
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
在我的代码顶部,正如提到的here,但没有发生任何事情(我仍然有错误)。 我现在能做什么?
【问题讨论】:
标签: c# ssl x509certificate wcf-binding wcf-security