这可能是由于在 HTTPS 情况下未使用 HTTP.SYS 正确配置服务器证书。 C#
Posted
技术标签:
【中文标题】这可能是由于在 HTTPS 情况下未使用 HTTP.SYS 正确配置服务器证书。 C#【英文标题】:This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. c# 【发布时间】:2021-06-15 20:11:10 【问题描述】:也许这个问题已经有了,但我认为情况不同。 我从 Web 配置文件配置所有必需的东西并安装证书。
我在 ASP.NET WEB API 中使用 java web 服务。 SOAP 服务已配置相互身份验证。 (双向 SSL) 我有 2 个密钥库文件。 (client.jks 和 truststore.jks)
我的完整错误:这可能是由于服务器证书是 在 HTTPS 情况下未使用 HTTP.SYS 正确配置。 这也可能是由于之间的安全绑定不匹配造成的 客户端和服务器。'
网络配置:
<customBinding>
<binding name="MyBinding">
<textMessageEncoding messageVersion="Soap11"/>
<security authenticationMode="MutualCertificate" enableUnsecuredResponse="true" allowSerializedSigningTokenOnReply="true"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
includeTimestamp="false">
</security>
<httpsTransport />
</binding>
</customBinding>
<endpoint behaviorConfiguration="ClientCredentialsBehavior" address="https://abc.bank.dm:9193/Money/Money" binding="customBinding" bindingConfiguration="MyBinding" contract="Ref.Port" name="Port">
<identity>
<dns value="test"/>
</identity>
</endpoint>
<behaviors>
<endpointBehaviors>
<behavior name="ClientCredentialsBehavior">
<clientCredentials>
<clientCertificate findValue="2d73n94087857dndyr874ydr"
storeLocation="CurrentUser"
storeName="My"
x509FindType="FindByThumbprint" />
<serviceCertificate>
<defaultCertificate findValue="d346n32d48938w43d943095d"
storeLocation="CurrentUser"
storeName="TrustedPeople"
x509FindType="FindByThumbprint" />
<authentication certificateValidationMode="None" revocationMode="NoCheck"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
【问题讨论】:
【参考方案1】:尝试在客户端和服务器上指定相同的协议。在客户端添加如下代码:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
这是参考:TLS 1.2
【讨论】:
感谢您的回答,但我已经尝试过此代码。我得到同样的错误。以上是关于这可能是由于在 HTTPS 情况下未使用 HTTP.SYS 正确配置服务器证书。 C#的主要内容,如果未能解决你的问题,请参考以下文章
Windows无法使用HTTP,HTTPS或FTP连接到Internet,这可能由于此计算机上的防火墙设置而导致的。
UNUserNotificationCenter Swift - 在特定情况下未触发本地通知