Есть три ключевых места, которые я настраиваю для использования https в своих собственных приложениях.
Web.config
В теге поведения включите эту строку:
<serviceMetadata httpsGetEnabled="true"/>
Для конечной точки MEX убедитесь, что вы используете протокол https:
<endpoint address="mex" binding="mexHttpsBinding"
contract="IMetadataExchange" />
Создание пользовательской привязки. Важной частью является транспортная безопасность:
<basicHttpBinding>
<binding name="myServicesBinding">
<security mode="Transport"/>
</binding>
</basicHttpBinding>
Вы также можете включить обычные средства авторизации:
<authorization>
<allow users="?"/>
<deny users="*"/>
</authorization>
Silverlight
На стороне Silverlight либо укажите ServiceReference на теперь защищенную службу, либо настройте соединения вручную в коде. файл ServiceReferences.ClientConfig должен содержать элементы безопасности:
<security mode="Transport"/>
И версия кода выглядит так:
BasicHttpBinding b = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
Возможно, есть более сложные вещи, которые можно сделать, но этого должно быть достаточно для большинства людей.