Método de autenticación de firma
La autenticación de firma hace referencia a un certificado X.509 enviado por el cliente al servidor. El certificado se utiliza para la autenticación en el registro de usuario configurado en el servidor. Cuando se utiliza el método de autenticación de firma, se genera la señal de seguridad con un elemento ds:Signature y un elemento wsse:BinarySecurityToken.
- Generación de la señal de firma
- El remitente de solicitudes genera una señal de seguridad de firma utilizando un
manejador de devolución de llamada. La señal de seguridad devuelta por el
manejador de retorno de llamada se inserta en el mensaje SOAP. El manejador de
retorno de llamada se especifica en el elemento <LoginBinding> del
archivo de enlaces ibm-webservicesclient-bnd.xmi. WebSphere Application Server proporciona la siguiente implementación de manejador de retorno de llamada
que se puede utilizar con el método de autenticación de firma:
com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
Puede añadir sus propios manejadores de retorno de llamada que implementen la implementación javax.security.auth.callback.CallbackHandler.
- Validación de la señal de seguridad
- El receptor de solicitudes recupera la señal de seguridad de firma
del mensaje SOAP y la valida mediante un módulo de inicio de
sesión JAAS. Para realizar la validación, se utilizan los elementos
<ds:Signature> y <wsse:BinarySecurityToken> de la señal de
seguridad. Si la validación es satisfactoria, el módulo de inicio de sesión devuelve un sujeto JAAS
(Java Authentication and Authorization Service). A continuación, este sujeto se
establece como la identidad de la hebra en ejecución. Si la validación no es
satisfactoria, se rechaza la solicitud con una excepción de error de SOAP.
La configuración de inicio de sesión JAAS se especifica en el elemento <LoginMapping> del archivo de enlaces. Los enlaces predeterminados se especifican en el archivo ws-security.xml. No obstante, puede alterar temporalmente estos enlaces utilizando el archivo ibm-webservices-bnd.xmi específico de la aplicación. La información de configuración está formada por un CallbackHandlerFactory y un ConfigName. CallbackHandlerFactory especifica el nombre de una clase que se utiliza para crear el objeto CallbackHandler de JAAS. WebSphere Application Server proporciona la implementación com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImp CallbackHandlerFactory. ConfigName especifica una entrada de nombre de configuración JAAS. WebSphere Application Server busca en el archivo security.xml una entrada de nombre de configuración que coincida. Si no se encuentra una coincidencia, la busca en el archivo wsjaas.conf. WebSphere Application Server proporciona la entrada de configuración predeterminada system.wssecurity.Signature, que es adecuada para el método de autenticación de signatura.