#c# #web-services #wcf #ssl
#c# #веб-службы #wcf #ssl
Вопрос:
Есть ли способ игнорировать ошибки SSL-сертификата?
Я разработал веб-службу, которая до сих пор работала локально с использованием http, однако она была перемещена извне и должна взаимодействовать через https. Сертификат для целей тестирования является самозаверяющим и, следовательно, не доверенным, и я получаю сообщение об ошибке The provided URI scheme 'https' is invalid; expected 'http'.
Web.config
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="RemoteSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://mydomainwebservice:8444/Test.asmx" binding="basicHttpBinding"
bindingConfiguration="RemoteSoap" contract="RemoteService.RemoteSoap"
name="RemoteSoap" />
</client>
</system.serviceModel>
Если я добавлю следующий элемент безопасности, я получу следующую ошибку The remote certificate is invalid according to the validation procedure.
, которая, по-видимому, вызвана The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
Может кто-нибудь любезно посоветовать, как игнорировать эти ошибки?
Ответ №1:
Попробуйте отредактировать значения конфигурации в .config
<configuration>
<system.net>
<settings>
<servicePointManager
checkCertificateName="false"
checkCertificateRevocationList="false"
/>
</settings>
</system.net>
</configuration>