Шифрование MSMQ

Шифрование MSMQ

Итак, я хочу сделать асинхронный, отключенный, через Интернет обмен сообщениями с WCF. Вероятно, из-за моего опыта работы с Apache ActiveMQ, я рассматриваю MSMQ для этого.

В ActiveMQ шифровать соединение очереди было просто: вы просто выбирали соединение на основе SSL с брокером, и у вас был базовый уровень SSL для защиты вашего взаимодействия между брокером и клиентами. (Стоит ли мне рассмотреть возможность использования клиентов WCF с брокером ActiveMQ?)

Когда я нажимаю Google для MSMQ шифрования и MSMQ SSL, я не нахожу ничего похожего. Надеюсь, я просто что-то упустил?

Я нашел несколько запутанно выглядящих вещей о шифровании сообщений, вещи, которые кажутся неверными в отношении использования HTTPS, и вещи, для которых требуется Active Directory, но я хочу защитить все общение, а не только сообщения, и мы предпочитаем не использовать HTTPS в качестве привязки, поскольку нам требуется отключенная работа, и у нас не будет Active Directory для работы.

Как лучше всего это сделать?

решение1

Делаетhttp://blogs.msdn.com/motleyqueue/archive/2007/10/06/complementing-msmq-security-with-wcf.aspxимеет какое-либо отношение? Кажется, это намекает на настройку, которая, по-видимому, относится к транспортному уровню, а также предполагает шифрование сообщений.

решение2

ОК, наконец-то нашел ссылку на выполнение шифрования MSMQ без Active Directory. Вот ссылка. Это несложно, если найти документацию!

Таким образом вы используете шифрование сообщений с помощью MSMQ, но не используете Active Directory.

http://msdn.microsoft.com/en-us/library/aa395200.aspx

Из ТФА:

Демонстрирует

Клиент шифрует сообщение с помощью открытого ключа сервиса и подписывает сообщение с помощью собственного сертификата. Сервис, считывающий сообщение из очереди, аутентифицирует клиентский сертификат с помощью сертификата в своем хранилище доверенных лиц. Затем он расшифровывает сообщение и отправляет его в операцию сервиса.

Поскольку сообщение Windows Communication Foundation (WCF) передается как полезная нагрузка в теле сообщения MSMQ, тело остается зашифрованным в хранилище MSMQ. Это защищает сообщение от нежелательного раскрытия сообщения. Обратите внимание, что сам MSMQ не знает, зашифровано ли сообщение, которое он передает.

В примере показано, как можно использовать взаимную аутентификацию на уровне сообщений с MSMQ. Сертификаты обмениваются вне диапазона. Это всегда происходит с очередным приложением, поскольку служба и клиент не должны быть запущены и работать одновременно.

Описание Образец клиентского и сервисного кода такой же, как и образец Transacted MSMQ Binding, с одним отличием. Контракт операции аннотирован уровнем защиты, что предполагает, что сообщение должно быть подписано и зашифровано.

Связанный контент