Попытка заставить HelloWorld работать через SSL. Прочитайте все эти документы:
X509FindType
Как: использовать wsHttpBinding с аутентификацией Windows и безопасностью транспорта в вызове WCF из Windows Forms
Как: настроить порт с помощью SSL-сертификата
Как: создать временные сертификаты для использования во время разработки
Скриншоты Windows Communication Foundation (WCF)
Все, что я знаю, это то, что сертификат создается и разворачивается правильно (на самом деле оба сертификата). Тем не менее, я думаю, что-то не так с моим web.config (извините, не могу быть более конкретным на данный момент) Это похоже на то, что сервер 443 не слушает, или клиент ожидает http вместо https . Может кто-нибудь указать мне соответствующий ресурс и / или сказать, что я делаю не так?
Web.config здесь:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="HTTPBaseAddress" value=""/>
</appSettings>
<system.serviceModel>
<services>
<service behaviorConfiguration="MyServiceTypeBehaviors" name="MyWCFServices.HelloWorldService">
<clear />
<endpoint address="mex" binding="mexHttpBinding" name="mexEndpoint" contract="IMetadataExchange" listenUriMode="Explicit">
<identity>
<dns value="localhost" />
<certificateReference storeName="My" storeLocation="LocalMachine" x509FindType="FindBySubjectDistinguishedName" />
</identity>
</endpoint>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="" name="SSLendpoint" contract="MyWCFServices.IHelloWorldService">
<identity>
<dns value="localhost" />
<certificateReference x509FindType="FindByThumbprint" findValue="82a39faaeb18bf9585b334ca83264add3d5b26ee" />
</identity>
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceTypeBehaviors" >
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Клиентский app.config находится здесь:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="NoSecurity">
<security mode="None" />
</binding>
<binding name="SSLsecurity">
<security mode="Transport">
<transport clientCredentialType="None" />
<message clientCredentialType="Certificate" /
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://localhost:443/HelloWorldSSL/HelloWorldService.svc"
binding="wsHttpBinding" bindingConfiguration="" contract="IHelloWorldService"
name="wsHttpBinding_IHelloWorldService" />
</client>
</system.serviceModel>
</configuration>
Если потребуется дополнительная информация / скриншот - я с радостью предоставлю ее (как обычно). Надеюсь, что это ответный вопрос:)