Игнорировать ошибку сертификата в веб-службе?

#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>