
Por eso quiero realizar mensajería asincrónica, desconectada y a través de Internet con WCF. Probablemente debido a mi experiencia en Apache ActiveMQ, estoy buscando MSMQ para esto.
En ActiveMQ, era sencillo cifrar una conexión de cola; simplemente eligió una conexión basada en SSL con el corredor y tenía una capa SSL básica para proteger su comunicación entre el corredor y los clientes. (¿Debería considerar utilizar clientes WCF con un agente ActiveMQ?)
Cuando busco en Google cifrado MSMQ y MSMQ SSL, no encuentro nada similar. ¿Espero que me esté perdiendo algo?
He encontrado algunas cosas que parecen semi-complicadas sobre el cifrado de mensajes, cosas que parecen fuera de lugar sobre el uso de HTTPS y cosas que requieren un Directorio Activo, pero estoy buscando proteger toda la comunicación, no solo los mensajes, y nosotros Preferimos no utilizar HTTPS como enlace, ya que requerimos una operación desconectada y no tendremos Active Directory con el que trabajar.
¿Cuál es la mejor manera de hacer esto?
Respuesta1
Hacehttp://blogs.msdn.com/motleyqueue/archive/2007/10/06/complementing-msmq-security-with-wcf.aspxtiene alguna relevancia? Parece insinuar una configuración que parece ser el nivel de transporte y también sugiere cifrado de mensajes.
Respuesta2
Bien, finalmente encontré una referencia para realizar cifrado MSMQ que no sea de Active Directory. Aquí está el enlace. ¡No es difícil una vez que encuentras la documentación!
Así es como se utiliza el cifrado de mensajes con MSMQ pero no se utiliza Active Directory.
http://msdn.microsoft.com/en-us/library/aa395200.aspx
De la TFA:
Demuestra
El cliente cifra el mensaje utilizando la clave pública del servicio y firma el mensaje utilizando su propio certificado. El servicio que lee el mensaje de la cola autentica el certificado del cliente con el certificado en su almacén de personas de confianza. Luego descifra el mensaje y lo envía a la operación del servicio.
Dado que el mensaje de Windows Communication Foundation (WCF) se transporta como carga útil en el cuerpo del mensaje MSMQ, el cuerpo permanece cifrado en el almacén de MSMQ. Esto protege el mensaje contra la divulgación no deseada del mismo. Tenga en cuenta que el propio MSMQ no sabe si el mensaje que transporta está cifrado.
El ejemplo demuestra cómo se puede utilizar la autenticación mutua a nivel de mensaje con MSMQ. Los certificados se intercambian fuera de banda. Este es siempre el caso de las aplicaciones en cola porque el servicio y el cliente no tienen que estar en funcionamiento al mismo tiempo.
Descripción El código de cliente y de servicio de muestra es el mismo que el ejemplo de enlace de MSMQ transaccionado con una diferencia. El contrato de operación está anotado con el nivel de protección, lo que sugiere que el mensaje debe estar firmado y cifrado.