как добавить basicHttpBinding в пользовательский код привязки - PullRequest
0 голосов
/ 10 июня 2019

Мне нужно аутентифицировать конечную точку, используя сертификат в файле конфигурации 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 голосов
/ 12 июня 2019

Как мы знаем, если мы используем безопасность сообщений BasicHttpbinding, мы должны установить сертификат как на клиенте, так и на сервере.Кроме того, нам также следует установить доверительные отношения сертификатов между сервером и клиентом.
Следует отметить еще одну вещь: в отличие от режима аутентификации безопасности транспортного уровня, нам нужно установить сертификат службы по умолчанию (не-client Certificate, используйте сертификаты доверенного сервера для подписи сообщений) на стороне клиента.
Так или иначе, приведенная ниже конфигурация может достичь той же цели, что и аутентификация клиента с помощью сертификата.пожалуйста, обратитесь к приведенной ниже конфигурации.

<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
Не стесняйтесь, дайте мне знать, если я что-нибудьмогу вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...