Configuración de métodos de descifrado para proteger la confidencialidad de mensajes utilizando las API de WSS
Puede configurar la información de método de descifrado para la sección del consumidor de respuestas (lado del cliente) del archivo de enlace. La información de descifrado se utiliza para especificar cómo los consumidores (receptores) descifran los mensajes SOAP entrantes Para configurar el descifrado, especifique qué partes del mensaje se descifran y especifique qué métodos de algoritmo y señales de seguridad se van a utilizar para el descifrado.
Antes de empezar
La confidencialidad hace referencia al cifrado mientras que la integridad hace referencia a las firmas digitales. La confidencialidad reduce el riesgo de que alguien pueda entender el mensaje mientras fluya por Internet. Con las especificaciones de confidencialidad, el mensaje se cifra antes de que se envíe y se descifra cuando se recibe en el destino correcto. Antes de configurar el descifrado, familiarícese con el cifrado XML.
Acerca de esta tarea
Para el descifrado, debe especificar lo siguiente:
- Qué partes del mensaje se van a descifrar.
- Qué algoritmos de descifrado se deben especificar.
Para configurar el descifrado y las partes descifradas en el lado del cliente, utilice las API WSSDecryption y WSSDecryptPart, o configure los conjuntos de políticas utilizando la consola administrativa.
WebSphere Application Server proporciona valores predeterminados para los enlaces. Sin embargo, un administrador debe modificar los valores predeterminados para un entorno de producción.
WebSphere Application Server utiliza la información de descifrado para el consumidor predeterminado para descifrar partes del mensaje SOAP. La API WSSDecryption configura las siguientes partes necesarias como partes descifradas.
Partes de descifrado | Descripción |
---|---|
Palabras clave | Las palabras clave se utilizan para añadir las partes descifradas al mensaje SOAP. |
expresión XPath | Las expresiones XPath se utilizan para añadir las partes descifradas al mensaje SOAP. |
Objeto WSSDencryptPart | Este objeto añade las partes descifradas al mensaje SOAP. |
Objeto WSSVerification | Este objeto añade el componente de verificación de firmas como una parte descifrada. |
Cabecera | Esta parte añade la cabecera a la cabecera SOAP, especificada por QName, como una parte descifrada. |
Objeto de señal de seguridad | Este objeto añade la señal de seguridad como una parte descifrada. |
La API de seguridad de servicios web (WSS API) soporta el cifrado simétrico, utilizando una clave compartida, sólo cuando se utiliza Web Services Secure Conversation (WS-SecureConversation).
Las API de WSS permiten el uso de cualquiera de las palabras clave o una expresión XPath para especificar las partes del mensaje SOAP que se van a descifrar. WebSphere Application Server soporta el uso de las siguientes palabras clave:
Palabra clave | Referencias |
---|---|
BODY_CONTENT | La palabra clave para los contenidos del cuerpo del mensaje SOAP como un destino de descifrado. |
SIGNATURE | La palabra clave para el elemento de firma como un destino de descifrado. |
USERNAME_TOKEN, | La palabra clave para el elemento de la señal Username como un destino de descifrado. |
Si realiza la configuración utilizando las API de WSS, las API WSSDecryption y WSSDecryptPart completan estos pasos de alto nivel:
Procedimiento
Resultados
Ejemplo
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler();
// see X509ConsumeCallbackHandler
WSSDecryption dec = factory.newWSSDecryption(X509Token.class,
callbackhandler);
concont.add(dec);
Qué hacer a continuación
Debe configurar una información similar de cifrado para los enlaces del generador de solicitudes (emisor) del lado del cliente, si todavía no ha configurado la información.
A continuación, revise el proceso de la API WSSDecryption.