Método de Autenticação de Assinatura
A autenticação de assinatura refere-se a um certificado X.509, enviado pelo cliente ao servidor. O certificado é utilizado para autenticação no registro do usuário, configurado no servidor. Ao utilizar o método de autenticação de assinatura, o token de segurança é gerado com um elemento ds:Signature e um wsse:BinarySecurityToken.
- Geração de token de assinatura
- O emissor do pedido gera um token de segurança de Assinatura utilizando um manipulador de retorno de chamada. O token de segurança retornado pelo manipulador de retorno de chamada é inserido na mensagem SOAP. O manipulador de retorno de chamada utilizado é especificado no elemento <LoginBinding> do arquivo de ligações, ibm-webservicesclient-bnd.xmi. O WebSphere Application
Server fornece a seguinte implementação do manipulador de retorno de chamada que pode ser utilizada com o método de Autenticação de Assinatura: com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
É possível incluir suas próprias rotinas de tratamento de retorno de chamada que implementem a implementação javax.security.auth.callback.CallbackHandler.
- Validação do token de segurança
- O receptor de pedidos recupera a Segurança de Assinatura da mensagem SOAP e valida-a utilizando um módulo de login do JAAS. Os elementos <ds:Signature> e<wsse:BinarySecurityToken> no token de segurança são utilizados para executar a validação. Se a validação for bem-sucedida, o módulo de login retornará um objeto do JAAS
(Java Authentication and Authorization Service). Esse assunto é definido como a identidade do encadeamento em execução. Se a validação falhar, o pedido é
rejeitado com uma exceção de falha de SOAP.
A configuração de login do JAAS é especificada no elemento <LoginMapping> do arquivo de ligações. As ligações padrão são especificadas no arquivo ws-security.xml. Contudo, é possível substituir essas ligações utilizando o arquivo ibm-webservices-bnd.xmi específico do aplicativo. As informações de configuração consistem em uma CallbackHandlerFactory e um ConfigName. A CallbackHandlerFactory especifica o nome de uma classe que é utilizada para criar o objeto CallbackHandler de JAAS. O WebSphere Application Server fornece a implementação com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImp CallbackHandlerFactory. O ConfigName especifica uma entrada de nome de configuração JAAS. O WebSphere Application Server procura no arquivo security.xml para obter uma correspondência de entrada de nome de configuração. Se não for localizada uma correspondência, ele procura no arquivo wsjaas.conf. O WebSphere Application Server fornece a entrada de configuração padrão system.wssecurity.Signature, que é adequada para o método de autenticação de assinatura.