У вас есть сервисная ссылка в вашем проекте?Предоставляет ли ваш сервис описание безопасности в WSDL?Если ответы на оба вопроса верны, вы можете просто обновить справочную службу, и ваша конфигурация будет изменена на безопасный режим (если вам повезет).
Что на самом деле означает безопасность для вас?Безопасность сообщений также может означать шифрование и подпись сообщений.Безопасность сообщений не поддерживается в Basic Http Binding.Для пользовательского связывания вы можете начать со следующей конфигурации:
<customBinding>
<binding name="CCaRWebServiceSoap12Binding">
<security authenticationMode="MutualCertificate" />
<!-- there is plenty other configuration attributes in security element -
you simply have to know what you need -->
...
</binding>
</customBinding>
Это установит взаимную аутентификацию сертификата (с асимметричной безопасностью) для вашей службы и клиента.Вам понадобится сертификат обслуживания и сертификат клиента с закрытым ключом (предоставляется поставщиком услуг).Вам необходимо импортировать эти сертификаты в хранилище сертификации.Учетная запись, в которой запущено ваше клиентское приложение, должна иметь доступ к закрытому ключу сертификата клиента (должна быть автоматической, если вы поместите сертификат в Личное хранилище пользователя).
Чем вы установите эти сертификаты в поведении конечной точки:
<behaviors>
<endpointBehaviors>
<behavior name="clientBehavior">
<clientCredentials>
<clientCertificate findValue="..." storeLocation="CurrentUser" storeName="My" x509FindType="FindBySubjectName" />
<serviceCertificate>
<defaultCertificate findValue="..." storeLocation="CurrentUser" storeName="TrustedPeople" x509FindType="FindBySubjectName" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
В конечной точке вы будете ссылаться на это поведение:
<endpoint address="serviceEndpoint2address/" binding="customBinding"
bindingConfiguration="CCaRWebServiceSoap12Binding"
contract="CCaRWebServicePortType" name="CCaRWebServiceHttpSoap12Endpoint"
behaviorConfiguration="clientBehavior" />
Вы также можете установить эти сертификаты из кода на экземпляре прокси.
Имейте в виду, что это только один из многих параметров,Я не говорю, что это будет работать для вас "как есть".Настроить защиту сообщений с помощью сертификатов довольно сложно, особенно если у вас нет описания безопасности в WSDL или служба не написана в WCF.
Вы также можете просмотреть эту статью на MSDN .Он также настраивает клиента.