Interfaces de programación de servicios (Service Programming Interfaces - SPI)
La interfaz de programación de servicios de seguridad de servicios web (WSS SPI) proporciona interfaces de programación para la protección de seguridad de servicios web.
La especificación de seguridad de servicios web proporciona una infraestructura flexible para la construcción de servicios web seguros para la implementación de integridad y confidencialidad del contenido de los mensajes. La especificación no define formatos de señales específicos pero, en su lugar, asocia documentos de perfil separados que definen varios formatos y semánticas de señales de seguridad para el uso de dichas señales. El modelo de programación de servicios de seguridad para servicios web tiene soporte para la infraestructura flexible, gracias a que proporciona puntos de ampliación para la integración con formatos de señales nuevos y con métodos para obtener las claves necesarias para la protección de mensajes. La seguridad de servicios web utiliza este modelo de programación para implementar el soporte para el perfil de señal X.509 estándar, el perfil de señal Nombre de usuario y los perfiles de señales de Kerberos. El modelo de programación también se utiliza para implementar soporte para la señal de seguridad LTPA y para los nuevos tipos de señales de seguridad.
La generación de señales de tiempo de ejecución de seguridad de servicios web y las interfaces de programación de servicios (SPI) que consumen señales se han rediseñado de forma que se puede utilizar la misma interfaz de señales de seguridad y la misma implementación de módulo de inicio de sesión JAAS para la API WSS y la SPI. La SPI de WSS para el proveedor de servicios amplía los tipos de señales de seguridad y proporciona claves y claves derivadas para la firma, comprobación de firmas, cifrado y descifrado.
El modelo de programación de servicio de seguridad de servicios web proporciona mecanismos para procesar señales de seguridad personalizadas, para que utilicen la señal personalizada en el firmado y cifrado, y para recuperar las claves de cifrado y firmado. Las interfaces de programación del servicio de seguridad de servicios web para el tiempo de ejecución JAX-RPC, y para el tiempo de ejecución JAX-WS son parecidas, pero no idénticas.
Tiempo de ejecución JAX-RPC
- Token Generator, KeyLocator y Callback Handler
- La clase TokenGenerator es responsable del formato de la señal de seguridad para el elemento XML. Esta clase invoca a la clase CallbackHandler que se especifica en el objeto TokenGeneratorConfig, que obtiene los datos de entrada de señal de seguridad y luego almacena la señal de seguridad resultante en las credenciales privadas del objeto Subject.
- Token Consumer, KeyLocator y JAAS LoginModule
- La clase KeyLocator es responsable de la obtención de la clave necesaria para la firma y cifrado de elementos de mensajes SOAP desde un almacén de claves que se especifica por parte de las configuraciones KeyStoreConfig y KeyLocatorConfig. La clase TokenConsumer extrae los datos de señal desde la representación de la señal de seguridad XML y los almacena en el Subject JAAS, utilizando un JAAS LoginModule. La clase KeyLocator especificada se invoca para buscar la clave necesaria para la verificación de la firma digital y el descifrado de los elementos del mensaje SOAP.
Tiempo de ejecución JAX-WS
Las interfaces de programación de plugin para el tiempo de ejecución JAX-WS se basan en el modelo de programación JAAS para el proceso de mensajes SOAP de entrada y salida. LoginModule y CallbackHandler de JAAS son responsables del proceso de las señales de seguridad en mensajes SOAP. Login Module y Callback Handler reciben y generan señales, y almacenan objetos SecurityToken en el tiempo de ejecución. Sustituyen la funcionalidad de las interfaces TokenGenerator, TokenConsumer y KeyLocator.
Debido a las diferencias en los modelos de programación, los WebSphere Application Server o implementaciones de SPI personalizadas desde el tiempo de ejecución Seguridad de servicios web versión 6.1 no tienen soporte para la ejecución en el tiempo de ejecución de Seguridad de servicios web con el Paquete de características de servicios web de la Versión 6.1, o el tiempo de ejecución de la versión 7.0 y posterior de la seguridad de servicios web. No obstante, el tiempo de ejecución de la versión 6.1 de la seguridad de servicios web tiene soporte simultáneo con el Paquete de características de servicios web de la versión 6.1, lo que significa que las implementaciones de la versión 6.1 de SPI aún tienen soporte a través del tiempo de ejecución original. Antes de utilizar el tiempo de ejecución Seguridad de servicios web nuevo, hace falta hacer una migración de código para reprogramar las SPI basadas en la versión 6.1 de DOM para las SPI basadas en AXIOM en el paquete de características para servicios web antes de poder utilizar la SPI.