Configurando o Conjunto de Políticas e Ligações para Criptografar um UsernameToken

Este exemplo mostra como configurar o conjunto de política WS-Security e as ligações no nível da mensagem para enviar um token Username em um pedido JAX-WS e para criptografar o token Username utilizando uma criptografia assimétrica.

Antes de Iniciar

Faça uma cópia do conjunto de política padrão Username WSSecurity e dê a ele um nome exclusivo. Este exemplo ilustra como modificar uma cópia do conjunto de política padrão. Para obter mais informações, leia sobre como copiar as configurações de ligações e conjunto de política padrão.

Sobre Esta Tarefa

Por padrão, o conjunto de política Username WSSecurity assina os cabeçalhos e corpo WS-Addressing no pedido e na resposta, e criptografa o corpo e a assinatura no pedido e na resposta. No entanto, neste exemplo, o objetivo é criptografar apenas o token Username no pedido do cliente para o serviço, mas não criptografar nenhuma parte da resposta do serviço para o cliente. Além disso, nenhuma parte do pedido ou da resposta será assinada. Portanto, o conjunto de política deve ser modificado para remover várias partes de proteção de mensagens. Também é necessário configurar as ligações do cliente e do servidor.

Primeiro, configure o conjunto de política modificando sua cópia do conjunto de política padrão Username WSSecurity.

Procedimento

  1. No console administrativo, clique em Serviços > Conjuntos de Políticas > Conjuntos de Políticas do Aplicativo > policy_set_name. No painel Configurações do Conjunto de Política, é possível especificar informações sobre o conjunto de política, como a descrição.
  2. Remova as seguintes partes de proteção de mensagens: request:app_signparts, response:app_signparts e response:app_encparts.
    1. Clique em Conjuntos de Políticas do Aplicativo > policy_set_name > WS-Security > Política Principal > Proteção da Parte da Mensagem de Resposta.
    2. Clique em app_encparts na caixa Partes Criptografadas, em seguida, clique no botão Excluir.
    3. Clique em app_signparts na caixa Partes Assinadas, em seguida, clique no botão Excluir.
    4. Clique em Conjuntos de Políticas do Aplicativo > policy_set_name > WS-Security > Política Principal > Proteção da Parte da Mensagem de Pedido.
    5. Clique em app_signparts na caixa Partes Assinadas, em seguida, clique no botão Excluir.
  3. Atualize a parte da proteção especificada para request:app_encparts. Por padrão, esta parte de proteção de mensagens criptografa os elementos body e signature e deve ser modificada para criptografar o token Username.
    1. Clique em Conjuntos de Políticas do Aplicativo > policy_set_name > WS-Security > Política Principal > Proteção da Parte da Mensagem de Pedido > Parte Criptografada - app_encparts > Editar.
    2. Exclua os elementos existentes no painel Elementos na Parte, em seguida, inclua duas expressões XPath para criptografar o token Username.

      Expressão 1:

      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

      Expressão 2:

      /*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

O que Fazer Depois

A segunda parte do processo é configurar as ligações do cliente e do servidor.
Evitar Problemas Evitar Problemas: Ao trabalhar com a ligação de cliente, seja cuidadoso ao escolher o token de proteção que deseja editar. Os nomes dos tokens são representados a partir da perspectiva do protetor. Por exemplo, em um cliente, embora a palavra recipient esteja em seu nome, o AsymmetricBindingRecipientEncryptionToken0 é um gerador. A melhor maneira de certificar-se de estar escolhendo o token correto é consultar a coluna Uso na tabela Tokens de Proteção.gotcha
  1. Configure a ligação do cliente, da seguinte forma:
    1. Anexe a política a um recurso de serviço e crie uma nova ligação para esse recurso que inclua a política WSSecurity.
    2. Clique em WSSecurity na nova ligação para exibir o painel de ligação principal do WSSecurity. Por exemplo, clique em Aplicativos Corporativos > WSSampleServiceSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security.
    3. Clique em Autenticação e Proteção.
    4. Em Tokens de Proteção, clique em AsymmetricBindingRecipientEncryptionToken0 (o gerador de criptografia assimétrica).
    5. Clique em Aplicar.
    6. Clique em Manipulador de Retorno de Chamada.
    7. Selecione Customizado no menu Keystore.
    8. Clique em Configuração de Keystore Customizado.
    9. Insira o caminho do keystore. Por exemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Selecione JCEKS para o Tipo.
    11. Insira a senha nos campos Senha e Confirmar Senha. Por exemplo, storepass.
    12. Insira um Nome da Chave. Por exemplo, CN=Bob, O=IBM, C=US.
    13. Insira um Alias de Chave. Por exemplo, bob.
    14. Clique em OK.
    15. Clique em OK novamente.
    16. Clique em OK uma ou mais vezes para retornar ao painel Aplicativos Corporativos > WSSampleServicesSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security > Autenticação e Proteção.
    17. O status de AsymmetricBindingRecipientEncryptionToken0 deve ser exibido como Configurado.
  2. Modifique as configurações de partes criptografadas para a ligação do cliente, da seguinte forma:
    1. Clique em request:app_encparts em Assinatura da Mensagem de Pedido e Proteção de Criptografia.
    2. Insira um Nome. Por exemplo, MyEncPart.
    3. Clique em Novo em Informações Chave.
    4. Preencha um Nome. Por exemplo, MyEncKeyInfo.
    5. Clique em OK.
    6. Selecione MyEncKeyInfo (ou o nome especificado para a parte criptografada) na caixa Disponível e clique em Incluir. MyEncKeyInfo aparece na caixa Designado.
    7. Clique em OK para retornar ao painel Aplicativos Corporativos > WSSampleServicesSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security > Autenticação e Proteção.
    8. O status de request:app_encparts deve ser exibido como Configurado.
  3. Defina as configurações do token Username na ligação do cliente, da seguinte forma:
    1. Clique em request:myUserNameToken em Tokens de Autenticação.
    2. Clique em Aplicar.
    3. Clique em Manipulador de Retorno de Chamada.
    4. Especifique o Nome de Usuário. Por exemplo, LDAPSunuser6.
    5. Especifique a senha e confirme a senha.
    6. Clique em OK.
    7. Em Propriedades Customizadas, clique em Novo para incluir as propriedades para ativar nonce e timestamp.
    8. Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.addNonce para ativar nonce, e o valor da propriedade true.
    9. Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.addTimestamp para ativar timestamp, e o valor da propriedade true.
    10. Clique em OK novamente.
    11. O status de request:myUserNameToken agora deve ser exibido como Configurado.
    12. Clique em Salvar para salvar suas ligações de cliente.
  4. Configure a ligação do servidor da seguinte forma:
    1. Anexe a política a um recurso de serviço e crie uma nova ligação para esse recurso que inclua a política WSSecurity.
    2. Clique em WSSecurity na nova ligação para exibir o painel de ligação principal do WSSecurity. Por exemplo, clique em Aplicativos Corporativos > WSSampleServiceSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security.
    3. Clique em Autenticação e Proteção.
    4. Em Tokens de Proteção, clique em AsymmetricBindingRecipientEncryptionToken0 (o consumidor da criptografia assimétrica)
    5. Clique em Aplicar.
    6. Clique em Manipulador de Retorno de Chamada.
    7. Selecione Customizado no menu Keystore.
    8. Clique em Configuração de Keystore Customizado.
    9. Insira o caminho do keystore. Por exemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Selecione JCEKS para o Tipo.
    11. Insira a senha nos campos Senha e Confirmar Senha. Por exemplo, storepass.
    12. Insira um Nome da Chave. Por exemplo, CN=Bob, O=IBM, C=US.
    13. Insira um Alias de Chave. Por exemplo, bob.
    14. Insira a senha para o keypass nos campos Senha e Confirmar Senha.
    15. Clique em OK.
    16. Clique em OK novamente.
    17. Clique em OK uma ou mais vezes para retornar ao painel Aplicativos Corporativos > WSSampleServicesSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security > Autenticação e Proteção.
    18. O status de AsymmetricBindingRecipientEncryptionToken0 deve ser exibido como Configurado.
  5. Modifique as configurações de partes criptografadas para a ligação do servidor, da seguinte forma:
    1. Clique em request:app_encparts em Assinatura da Mensagem de Pedido e Proteção de Criptografia.
    2. Insira um Nome. Por exemplo, MyEncPart.
    3. Clique em Novo em Informações Chave.
    4. Preencha um Nome. Por exemplo, MyEncKeyInfo.
    5. Clique em OK.
    6. Selecione MyEncKeyInfo (ou o nome especificado para a parte criptografada) na caixa Disponível e clique em Incluir. MyEncKeyInfo aparece na caixa Designado.
    7. Clique em OK para retornar ao painel Aplicativos Corporativos > WSSampleServicesSei > Ligações e Conjuntos de Políticas do Cliente do Serviço > binding_name > WS-Security > Autenticação e Proteção.
    8. O status de request:app_encparts deve ser exibido como Configurado.
  6. Defina as configurações do token Username na ligação do servidor, da seguinte forma:
    1. Clique em request:myUserNameToken em Tokens de Autenticação.
    2. Clique em Aplicar.
    3. Clique em Manipulador de Retorno de Chamada.
    4. Clique em OK.
    5. Em Propriedades Customizadas, clique em Novo para incluir as propriedades para verificar nonce e timestamp.
    6. Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.verifyNonce para verificar nonce, e o valor da propriedade true.
    7. Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.verifyTimestamp para verificar timestamp, e o valor da propriedade true.
    8. Clique em OK novamente.
    9. O status de request:myUserNameToken deve ser exibido como Configurado.
    10. Clique em Salvar para salvar as ligações do servidor.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configmsglvlpolicyset
Nome do arquivo: twbs_configmsglvlpolicyset.html