Я настроил службу WCF для клиента, используя wsHttpBinding с пользовательской проверкой имени пользователя, x.509, но без SSL
Они используют PHP и совершенно не могут пройти мимо безопасности WS, поэтому наше решение должно заключаться в добавлении еще одной привязки basichttp. Но когда я делаю это, кажется, что требуется SSL. Мое требование абсолютно НЕ использовать SSL.
Моя работающая привязка wshttp выглядит следующим образом:
<wsHttpBinding>
<binding name="WSHttpBinding_ISearchService" closeTimeout="00:10:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="true" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="Message" >
<message clientCredentialType="UserName"/>
</security>
</binding>
<serviceBehaviors>
<behavior name="My.Services.SearchServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceCredentials>
<serviceCertificate findValue="01000000000xxxxxxxxx" storeLocation="LocalMachine"
storeName="My" x509FindType="FindBySerialNumber" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="My.Services.UserNamePassValidator, SearchService" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
Возможна ли такая же точная конфигурация при использовании basichttpbinding без SSL?