2012-05-07 3 views
3

Я пишу веб-приложение, и мне нужно использовать существующий веб-сервис. Этот веб-сервис использует сертификат wsHttpBinding и x509.Позвоните в веб-сервис WCF с сертификатом wsHttpbinding и x509 с javascript или JQuery

Я смотрел по всему Интернету, но не нашел рабочего решения.

Может кто-нибудь помочь мне с этим?

ответ

1

Выбор сертификата клиента будет производиться браузером при его подключении. JavaScript и jQuery не так много говорят об этом.

Вы можете настроить Firefox (например), чтобы спросить, какой сертификат выбрать или выбрать один автоматически (Настройки -> Дополнительно -> Шифрование -> Сертификаты). Это может вызвать всплывающее окно из браузера, если вы выберете «always ask», но это недоступно из JavaScript.

Клиентские сертификаты, которые вы собираетесь использовать (и их личные ключи), должны быть доступны браузеру в первую очередь.

+0

То, что вы описываете, звучит как основанный на браузере взаимный авторизационный TLS, однако AFAIK отличается от стандартов WS- *, доступных в wsHttpBinding, которые шифруют части полезной нагрузки XML, позволяют ненадежным посредникам и т. Д. Я бы подумал, что Javascript + HTML5 LocalStorage может взломать XML-документ, совместимый с [WS- * с защитой сообщений] (http://msdn.microsoft.com/en-us/library/ms735093.aspx). – LamonteCristo

+0

@ makerofthings7, действительно, но проблема безопасности WS-* на уровне сообщений заключается в том, чтобы заставить js в браузере использовать закрытый ключ клиента cert. Они обычно недоступны. – Bruno

+0

Я просто пришел к такому же выводу. Считаете ли вы, что клиентские сертификаты (взаимный авторизационный TLS) + Javascript с JSON лучше, чем любое хакерское решение SOAP? – LamonteCristo