Вы используете самозаверяющий сертификат, который по умолчанию не является доверенным. Вы должны сообщить клиентскому приложению, что оно должно доверять сертификату:
<behaviors>
<endpointBehaviors>
<behavior name="LocalCertValidation">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
Ссылайтесь на это поведение из конфигурации вашей конечной точки в клиенте по behaviorConfiguration="LocalCertValidation"
. Чтобы это работало, вы должны установить публичный сертификат в хранилище сертификатов текущего пользователя под доверенными лицами. Вы также можете установить режим проверки на None
, и сертификат вообще не будет проверяться, но его следует использовать только в среде разработки.