Я использую пользовательскую аутентификацию с веб-сервисом WCF. Я создал локальный сертификат на своем компьютере, когда я ссылаюсь на него в моем web.config все работает.
На рабочем сервере я создал сертификат SSL и привязал его к своему веб-сайту. Сертификат называется «GAAWEBDEV_20Mars2020».
Когда я публикую свою заявку, это сообщение будет показано:
Cannot find the X.509 certificate using the following search criteria: StoreName 'My', StoreLocation 'LocalMachine', FindType 'FindBySubjectName', FindValue 'GAAWEBDEV_20Mars2020'.
Это код, который у меня есть в моем файле web.config:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="Behavior1">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<!--
<serviceCertificate findValue="Test" storeLocation="LocalMachine"
storeName="My" x509FindType="FindBySubjectName" />
-->
<serviceCertificate findValue="GAAWEBDEV_20Mars2020" storeLocation="LocalMachine" x509FindType="FindBySubjectName"/>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="PSA904.CustomValidator, PSA904" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="Behavior1" name="PSA904.servPSA904">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding1"
contract="PSA904.PSA904" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/" />
</baseAddresses>
</host>
</service>
</services>
Это ссылка на наш сайт: https://psa904webdev.gaa.qc.ca/servPSA904.svc Вы можете видеть, что у нас есть сертификат под названием "GAAWEBDEV_20Mars2020"
Спасибо!