Я создаю службу WCF, для которой требуется имя пользователя и пароль для прокси. Для этого мне нужно предоставить сертификат службы, для которого я предоставил сертификат нашей компании Verisign Certificate.Использование сертификата X.509 с UserName clientCredentialType
Проблема, с которой я столкнулся, - это когда я использую следующую конфигурацию, я получаю сообщение об ошибке «Сертификат службы не указан. Укажите сертификат службы в ServiceCredentials».
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
<behaviors>
<serviceBehaviors>
<behavior name="WSBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<serviceCertificate findValue="devstage1.vcg-online.net" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="TrustedPublisher" />
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Acre.IntegrationService.CustomValidator, Acre.IntegrationService" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Acre.IntegrationService.IntegrationService" behaviorConfiguration="WSBehaviour">
<endpoint address="http://localhost/Acre.IntegrationService/IntegrationService.svc"
binding="wsHttpBinding"
bindingConfiguration="WSBinding"
contract="Acre.IntegrationService.IIntegrationService"
name="WS" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="WSBinding" allowCookies="false">
<security mode="Message">
<message clientCredentialType="UserName" negotiateServiceCredential="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
ОБНОВЛЕНО CONFIG
Я установил сертификат в консоли с помощью mmc.exe следующих путей
Сертификаты (локальный компьютер)/Личные/Сертификаты/Сертификаты (Локальный компьютер)/доверенные корневые центры сертификации/сертификаты/ Сертификаты (локальный компьютер)/доверенные издатели/сертификаты/
Я искал interweb и не могу найти четкое решение моей проблемы. Может ли кто-нибудь помочь?
Примечание: сертификат также устанавливается в том месте, где находится текущий пользователь, а также компьютер. И был импортирован в IIS –
Вы должны указать сервисный сертификат, который необходимо использовать. Вы пытаетесь защитить службу SSL через транспортный канал? – Rajesh
Я указываю сертификат в поведении службы, и да SSL через транспорт для пользовательской авторизации ... игнорирую это, я только что заметил, что я использую клиентский сертификат, я его изменю и попробую –