Отключите сертификат wcf x509, используя clientCredentialType = "UserName" - PullRequest
0 голосов
/ 29 июня 2011

Я хочу получить имя пользователя и пароль пользователя, которому требуется операция службы.Для этого мне нужно указать следующую конфигурацию:

                <binding name="NewBinding0">
                <security mode="Message">
                    <message clientCredentialType="UserName"                negotiateServiceCredential="false"
                        establishSecurityContext="false" />
                </security>
            </binding>

Теперь требуется сертификат x509.Могу ли я отключить его или изменить режим безопасности или сообщение credentialType, но для обеспечения той же функциональности?

1 Ответ

1 голос
/ 29 июня 2011

Когда вы указываете безопасность сообщения, оно всегда ожидает сертификат службы. Причина в том, что имя пользователя и пароль следует отправлять по защищенному каналу, в противном случае пароль отправляется в виде простого текста, и все в сети могут это видеть.

Все привязки по умолчанию позволят вам отправлять имя пользователя и пароль только при использовании HTTPS (режим безопасности установлен на TransportWithMessageCredential - для него также требуется сертификат) или если вы используете WS-Security, где требуется сертификат службы (режим безопасности установить на Message).

В WCF 4 (и со специальным исправлением KB в более ранних версиях) вы можете создать пользовательскую привязку , где имя пользователя и пароль могут быть отправлены по незащищенному каналу, но это почти то же самое, что и отсутствие защиты. Его следует использовать, только если ваш канал защищен какой-либо другой инфраструктурой, такой как VPN.

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