2013-09-18 2 views
0

У меня есть служба WCF, размещенная в IIS. Служба обязана быть basicHttpBinding. IBM DataPower находится перед сервисом WCF, который предоставляет его внешнему миру.Шифровать/расшифровывать тело мыла в клиенте WCF

Я пишу клиентское приложение WCF (наследующее от ClientBase), которое должно зашифровывать тело сообщения с помощью общего открытого ключа, а DataPower расшифровывает его и перенаправляет сообщение на сервер хостинга. Что касается ответов, DataPower будет шифровать его, и клиент должен иметь возможность расшифровать полученные ответы. Один из способов добиться этого (что я мог придумать) - использовать IClientMessageInspector и использовать метод BeforeSendRequest() для шифрования AfterReceiveReply() для дешифрования. Прежде чем идти по этому маршруту, я хотел знать, какие другие варианты доступны для этого?

+0

Должно ли шифрование использовать предопределенный общий открытый ключ? Если нет, 'basicHttpBinding' поддерживает шифрование сообщений. – Tim

+0

Да, он должен использовать предварительно разделяемый ключ. Кроме того, будет ли baseHttpBinding поддерживать шифрование сообщений в SOAP 1.1? – muruge

ответ

0

Обычно шаблон использует SSL, с которым легко работать с клиентами DataPower и WCF. Я не уверен, насколько легко настроить шифрование уровня сообщений в DataPower. Если вы настаиваете на шифровании на уровне сообщений, сначала проверьте, поддерживает ли DP стандартный WS-Security подход, и в этом случае конфигурация WCF-клиента проста (базовая привязка HTTP с режимом безопасности сообщения и типа учетных данных клиента или имени пользователя, но, конечно, зависит если вы хотите настроить клиентское имя).

+0

Еще одно требование, которое я забыл упомянуть, - SOAP 1.1. WS-Security требует SOAP 1.2, правильно? – muruge

+0

ws-security работает как с мылом11, так и с мылом12. –

0

Да datapower поддерживает стандарт WS-Security, и вы можете воспроизводить любую часть или все сообщения для шифрования/дешифрования. Единственное, что вам нужно, чтобы вес здесь, - это использовать PKI или симметричную технологию шифрования/дешифрования при игре с защитой уровня сообщений.

Смежные вопросы