如何将basicHttpBinding添加到custombinding代码

时间:2019-06-10 20:53:50

标签: wcf web-config

我需要使用WCF配置文件中的证书对端点进行身份验证 我尝试添加各种authenticationMode设置 但无法在customBinding中使用 您能帮我将以下代码转换为自定义绑定吗?

        <basicHttpBinding>
            <binding name="certBinding">
                <security mode="Message">
                    <message clientCredentialType="Certificate" />
                </security>
            </binding>
        </basicHttpBinding>

这是我在自定义绑定中尝试过的代码

<customBinding>
        <binding name="OutbBinding1" closeTimeout="00:02:00" openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00">
                    <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap11" writeEncoding="utf-8">
                        <readerQuotas maxDepth="32" maxStringContentLength="20000000" maxArrayLength="20000000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    </textMessageEncoding>
            <security authenticationMode="SecureConversation">
            <secureConversationBootstrap authenticationMode="AnonymousForCertificate" />
            </security>
    </binding>
</customBinding>

1 个答案:

答案 0 :(得分:0)

我们知道,如果我们使用BasicHttpbinding的消息安全性,则应该在客户端和服务器中都设置证书。另外,我们还应该在服务器和客户端之间建立证书信任关系。
需要注意的另一件事是,与传输层安全性的身份验证模式不同,我们需要在客户端设置默认服务证书(非客户端证书,使用受信任的服务器证书来签名消息)。
因此,无论如何,以下配置可以实现与使用证书验证客户端相同的目标。请参考以下配置。

<customBinding>
    <binding name="TehRealBinding">
        <textMessageEncoding />
        <security authenticationMode="MutualCertificate" />
        <httpTransport />
    </binding>
</customBinding>

此外,以下文档可能对您有用。
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/securitybindingelement-authentication-modes
请随时告诉我是否有什么可以帮助您的。