Мне нужно использовать аутентификацию SSL и HTTP в моем клиенте WCF для подключения к веб-службе. У меня есть конфигурация привязки клиента wcf, как показано ниже, и код для загрузки сертификата и передачи имени пользователя и пароля для авторизации http. Когда я это пробовал, я получаю сообщение об ошибке «HTTP-запрос неавторизован с помощью схемы аутентификации клиента« Аноним ». Аутентификация с сервера была« Basic realm = »ws.dataway.com:443». Удаленный сервер вернул ошибка:. (401) Несанкционированная Может кто-нибудь, пожалуйста, как решить эту проблему и то, что должно быть изменено в связывающей конфигурации БлагодаряКакой режим безопасности использовать в клиенте WCF с проверкой подлинности SSL и HTTP?
<basicHttpBinding>
<binding name="OrderBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="Certificate" proxyCredentialType="None"
realm="" />
</security>
</binding>
</basicHttpBinding>
код:!
ClientCredentials loginCredentials = new ClientCredentials();
loginCredentials.UserName.UserName = this.UserId;
loginCredentials.UserName.Password = this.Password;
loginCredentials.ClientCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerName, "link.com");
var defaultCredentials = channelFactory.Endpoint.Behaviors.Find<ClientCredentials>();
channelFactory.Endpoint.Behaviors.Remove(defaultCredentials);
channelFactory.Endpoint.Behaviors.Add(loginCredentials);
Используете ли вы как клиентский сертификат, так и обычную проверку подлинности? –
Да, в моем веб-сервисе documenation говорится, что клиент wcf должен предоставить сертификат клиента для обеспечения безопасности, а также требует базовой авторизации HTTP для всех вызовов веб-службы. Благодаря! – Jyina
Спасибо! Можем ли мы указать сертификат и базовую авторизацию HTTP в клиенте wcf? – Jyina