Проблема заключалась в том, что я добавил исходный хост с http
вместо https
. Все работает нормально.
Можно настроить конечную точку WCF для использования аутентификация SSL с 2 путями . Это означает, что можно потребовать, чтобы клиенты представили сертификат X.509, который подтверждает их идентификационные данные каждый раз, когда они выполняют запрос к сервису.
На стороне сервера вещей, можно использовать одну из встроенных схем проверки в WCF или обеспечить собственную логику проверки для проверки сертификата X.509.
при хостинге сервиса в IIS это было бы тривиально для конфигурирования SSL для требования клиентских сертификатов в транспортный уровень . Однако можно найти хорошее руководство по тому, как реализовать это поведение в саморазмещенном сервисе WCF здесь:
http://leastprivilege.com/2007/08/25/certificate-based-authentication-and-wcf-message-security/
я не попробовал это сам, но, так как это создает требование к защите в уровень сообщения , я думаю, что необходимо будет использовать , wsHttpBinding для осуществления его в контракте WSDL, начиная с наложения требований к защите получить доступ к веб-сервису является частью WS -* стандарты.
, Если необходимо использовать basicHttpBinding, можно попробовать это решение вместо этого, которое перемещает вещи вверх на транспортном уровне:
http://leastprivilege.com/2007/08/26/certificate-based-authentication-and-wcf-mode-independent/
Hope это помогает
Хорошо так, с SSL у Вас есть безопасность транспортного уровня; который прекрасен, который защищает сообщение от сниффинга и изменения.
Поэтому теперь у Вас есть опции; Вам нужна проверка, чтобы быть тихими, или можно ли предложить пользователю имя пользователя/пароль, когда программа запускается? Если это должно быть тихо затем, можно пойти клиентский сертификат, как упомянуто (хотя это болезненно, необходимо будет генерировать сертификаты сами и проверить их, таким образом, необходимо будет посмотреть на выполнение собственного центра сертификации). Или можно встроить пользовательский заголовок в сообщение, которое содержит клиентский идентификатор, и сделайте это kludgey путь.
, Если однако можно запросить имя пользователя и пароль затем, Вы аутентифицируете тот путь и включаете его в поиск базы данных довольно легко с помощью пользовательский аутентификатор , или даже с помощью база данных членства ASP.NET .
Вы безопасность будете покрыты ssl.
Для аутентификации у Вас есть две опции - основной (имя пользователя и пароль) или сертификат.
Здесь видео, которое демонстрирует аутентификацию сертификата конфигурирования.
В этом Вы настраиваете элементы защиты basicHttpBinding, показанного ниже:
< basicHttpBinding>
< привязка имени = "basicHttp">
< режим безопасности = "TransportWithMessageCredential">
< передайте clientCredentialType = "Сертификат"/>
< / безопасность>
< / связывающий>
</basicHttpBinding>
существует также хорошая страница на этом здесь . Google на clientCredentialType и необходимо оказаться на правильном пути достаточно скоро.
For, настраивающий клиентские сертификаты, Вы после wse* файл политики.
необходимо будет разработать, как Вы предоставите клиентский сертификат различному sites.-, который зависит от проблем безопасности проекта. Существуют различные пути (ни один из которого я могу помнить извините, я в последний раз сделал это для wse* к wse* приблизительно два года назад, таким образом, о деталях забывают, но это, конечно, возможно, взял исследование тела нескольких дней для нахождения хорошего метода).
Используя сертификат SSL единственная опция для.NET, которую 2,0 клиента, получающие доступ к сервису WCF как basicHttpBinding, не обеспечивают безопасности. При помощи SSL Вы защищаете целый транспортный канал.
Проверка ссылка http://www.codeplex.com/WCFSecurityGuide/Release/ProjectReleases.aspx?ReleaseId=15892 . Это покрывает безопасность WCF, покрывающую все сценарии.
Для получения бесплатного сертификата SSL посетите http://www.comodo.com/ или http://www.instantssl.com/ и испытайте в приложении.
Вот то, что я в итоге сделал, что показалось самым простым решением в нашей ситуации, которая имеет довольно малый масштаб и лишь несколько открытых веб-служб:
Надеюсь, что это кому-то поможет ...