¿Cómo cifrar mensajes SOAP manualmente?

utilizo JBoss 4.2.3.GA. En la tarea anterior he usado un mecanismo de cifrado base que JBoss soporta (WS-Security). Es decir, utilicé archivos de almacén de claves, almacén de confianza para cifrar y firmar mensajes. Como es habitual (de forma estándar) en los archivos jboss-wsse- * se definieron alias de claves que se deben usar durante el proceso de cifrado. Usé la configuración de seguridad ws del libro JBoss in Action.

Eso está bien. El cifrado funciona bien.

Pero en mi tarea actual necesito especificar alias para las claves de forma manual y dinámica. Descripción de la tarea:

  • Tengo varios perfiles. En cada perfil puede haber un alias específico de clave pública que debe usarse para cifrar el mensaje.

  • Tengo un almacén de claves que contiene la clave pública / privada del servidor y las claves públicas de los clientes que enviarán el mensaje al servidor

  • Necesito obtener un alias del perfil y cifrar el mensaje (en el lado del cliente) usando la clave pública especificada por este alias.

  • Entonces necesito de alguna manera cargar datos desde el almacén de claves (debe residir en la carpeta del sistema de archivos, es decir, fuera del archivo ear), obtener la clave pública adecuada y luego realizar el cifrado.
  • Después de eso, necesito enviar un mensaje al servicio web remoto (lado del servidor) que tiene claves privadas para el descifrado.
  • Aquí veo varias variantes para la lógica del lado del servidor: el servicio web realiza el descifrado usando el mecanismo estándar de JBoss o puedo hacerlo cargando manualmente los datos del almacén de claves y descifrando manualmente.

Entonces las preguntas son sobre: ​​

  1. ¿Hay un
  2. ¿Puedo especificar un alias para el cifrado para el mecanismo estándar de JBoss WSS para permitir que jboss use esta información en el proceso de cifrado?
  3. Si debo hacer un cifrado manual / descifrado entonces ¿Cómo puedo envolver varios objetos Java en un mensaje WS y luego cifrarlo usando el alias necesario y cómo enviar este mensaje al servicio web remoto manualmente ?

Simplemente no sé cómo empezar, qué marco usar e incluso es necesario usar marcos externos (que no sean de JBoss) para esto ...

12
задан ROMANIA_engineer 1 January 2018 в 20:51
поделиться