Confirmação de assinatura
A confirmação de assinatura do Web Services Security é uma assinatura digital XML aprimorada e é incluída no padrão do Web Services Security. A assinatura digital XML é usada para assinar elementos do envelope SOAP.
Como uma das extensões para a especificação de segurança de mensagem SOAP do OASIS, o elemento de confirmação de assinatura incorpora os elementos necessários dentro da mensagem de resposta para confirmar a assinatura contida em uma mensagem de pedido. A assinatura digital XML e a confirmação de assinatura ajudam a fornecer segurança de nível de mensagem mais eficiente.
A Web Services Security Versão 1.0 para segurança de mensagem SOAP não forneceu nenhuma orientação sobre como confirmar a compreensão mútua do pedido que solicitou essa resposta. O elemento SignatureConfirmation ou <wsse11:SignatureConfirmation> foi incluído na especificação do Web Services Security Versão 1.1. O elemento <wsse11:SignatureConfirmation> assegura que a assinatura seja processada pelo destinatário pretendido e indica que o responsável pela resposta processou a assinatura no pedido. O elemento de confirmação de assinatura faz parte do padrão Web Services Security atualizado e permite a interoperabilidade com outros fornecedores que suportam os padrões da Versão 1.1, como Microsoft .NET e DataPower.
- Suponha que a afinidade de sessão seja ativada se um cluster for ativado para os clientes em execução no WebSphere Application Server. Quando a afinidade de sessão é ativada, isso significa que a resposta foi enviada de volta ao cliente iniciante do servidor.
- Suponha que WS-Addressing seja ativado para padrões de troca de mensagem assíncrona. Quando WS-Addressing está ativado, ele permite que o tempo de execução relacione a resposta novamente ao pedido. Uma resposta assíncrona é enviada de volta para o aplicativo do WebSphere Application Server inicial.
Sintaxe
O elemento SignatureConfirmation indica que o responsável pela resposta processou a assinatura no pedido. Quando esse elemento não está presente em uma resposta, o inicializador interpreta que o responsável pela resposta não é compatível.
O formato do elemento de confirmação de assinatura é como segue:
<wsse11:SignatureConfirmation wsu:Id="…" Value="…" />
- wsu:Id
- O identificador utilizado ao fazer referência a esse elemento na lista de referências <ds:SignedInfo> da assinatura da mensagem de resposta associada. Esse atributo é necessário para que referências não ambíguas sejam feitas a esse elemento <wsse11:SignatureConfirmation>.
- Valor
- Esse atributo é opcional e apresenta o conteúdo de um <ds:SignatureValue> que é copiado do pedido associado. Se o pedido não for assinado, esse atributo não deverá estar presente. Se esse atributo for especificado sem um valor (vazio), o inicializador interpretará isso como comportamento incorreto e o processará forma correspondente. Quando esse atributo não está presente, o inicializador interpreta isso considerando que a resposta está baseada em um pedido que não foi assinado.
Configuração
Para configurar a confirmação da assinatura, configure o arquivo de política usando o console administrativo e selecione Exigir Confirmação de Assinatura. Para processar a Confirmação de Assinatura corretamente, o inicializador do pedido precisa preservar as assinaturas durante o processamento do gerador de pedido e, depois, precisa recuperar as assinaturas para verificações de confirmação.
Regras de Geração de Resposta
Os elementos de segurança SOAP adicionais para o responsável pela resposta SOAP são usados para confirmar que a resposta está no relacionamento para um pedido em particular. O responsável pela resposta deve incluir o conteúdo do elemento <ds:SignatureValue> da assinatura no pedido como o valor do atributo @Value do elemento <wsse11:SignatureConfirmation>.
- Se não houver nenhuma assinatura no pedido, a resposta conterá um elemento SignatureConfirmation, sem um valor. Para MEPs em que houver vários pedidos (todos sem assinaturas) e uma resposta, a resposta conterá um elemento SignatureConfirmation sem um valor.
- Se houver assinaturas no pedido, a resposta conterá um elemento SignatureConfirmation para cada assinatura, com um valor que corresponda ao valor da assinatura no pedido. Para MEPs em que houver vários pedidos, com pelo menos um contendo uma assinatura e uma resposta, a resposta conterá um elemento SignatureConfirmation para cada assinatura localizada nos pedidos com um valor correspondente ao valor da assinatura no pedido.
- Para MEPs em que houver um pedido e várias respostas, cada resposta conterá os elementos SignatureConfirmation apropriados conforme notado no primeiro e segundo tópicos.
- Se um pedido SOAP contiver várias assinaturas, o solicitante localizará todos os elementos de confirmação de assinatura contidos na resposta e verificará os valores dos campos de valor dos elementos de confirmação de assinatura em relação aos valores das assinaturas no pedido SOAP original.