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
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
O que Fazer Depois

- Configure a ligação do cliente, da seguinte forma:
- 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.
- 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.
- Clique em Autenticação e Proteção.
- Em Tokens de Proteção, clique em AsymmetricBindingRecipientEncryptionToken0 (o gerador de criptografia assimétrica).
- Clique em Aplicar.
- Clique em Manipulador de Retorno de Chamada.
- Selecione Customizado no menu Keystore.
- Clique em Configuração de Keystore Customizado.
- Insira o caminho do keystore. Por exemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
- Selecione JCEKS para o Tipo.
- Insira a senha nos campos Senha e Confirmar Senha. Por exemplo, storepass.
- Insira um Nome da Chave. Por exemplo, CN=Bob, O=IBM, C=US.
- Insira um Alias de Chave. Por exemplo, bob.
- Clique em OK.
- Clique em OK novamente.
- 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.
- O status de AsymmetricBindingRecipientEncryptionToken0 deve ser exibido como Configurado.
- Modifique as configurações de partes criptografadas para a ligação do cliente,
da seguinte forma:
- Clique em request:app_encparts em Assinatura da Mensagem de Pedido e Proteção de Criptografia.
- Insira um Nome. Por exemplo, MyEncPart.
- Clique em Novo em Informações Chave.
- Preencha um Nome. Por exemplo, MyEncKeyInfo.
- Clique em OK.
- Selecione MyEncKeyInfo (ou o nome especificado para a parte criptografada) na caixa Disponível e clique em Incluir. MyEncKeyInfo aparece na caixa Designado.
- 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.
- O status de request:app_encparts deve ser exibido como Configurado.
- Defina as configurações do token Username na ligação do cliente, da seguinte forma:
- Clique em request:myUserNameToken em Tokens de Autenticação.
- Clique em Aplicar.
- Clique em Manipulador de Retorno de Chamada.
- Especifique o Nome de Usuário. Por exemplo, LDAPSunuser6.
- Especifique a senha e confirme a senha.
- Clique em OK.
- Em Propriedades Customizadas, clique em Novo para incluir as propriedades para ativar nonce e timestamp.
- Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.addNonce para ativar nonce, e o valor da propriedade true.
- Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.addTimestamp para ativar timestamp, e o valor da propriedade true.
- Clique em OK novamente.
- O status de request:myUserNameToken agora deve ser exibido como Configurado.
- Clique em Salvar para salvar suas ligações de cliente.
- Configure a ligação do servidor da seguinte forma:
- 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.
- 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.
- Clique em Autenticação e Proteção.
- Em Tokens de Proteção, clique em AsymmetricBindingRecipientEncryptionToken0 (o consumidor da criptografia assimétrica)
- Clique em Aplicar.
- Clique em Manipulador de Retorno de Chamada.
- Selecione Customizado no menu Keystore.
- Clique em Configuração de Keystore Customizado.
- Insira o caminho do keystore. Por exemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
- Selecione JCEKS para o Tipo.
- Insira a senha nos campos Senha e Confirmar Senha. Por exemplo, storepass.
- Insira um Nome da Chave. Por exemplo, CN=Bob, O=IBM, C=US.
- Insira um Alias de Chave. Por exemplo, bob.
- Insira a senha para o keypass nos campos Senha e Confirmar Senha.
- Clique em OK.
- Clique em OK novamente.
- 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.
- O status de AsymmetricBindingRecipientEncryptionToken0 deve ser exibido como Configurado.
- Modifique as configurações de partes criptografadas para a ligação do servidor,
da seguinte forma:
- Clique em request:app_encparts em Assinatura da Mensagem de Pedido e Proteção de Criptografia.
- Insira um Nome. Por exemplo, MyEncPart.
- Clique em Novo em Informações Chave.
- Preencha um Nome. Por exemplo, MyEncKeyInfo.
- Clique em OK.
- Selecione MyEncKeyInfo (ou o nome especificado para a parte criptografada) na caixa Disponível e clique em Incluir. MyEncKeyInfo aparece na caixa Designado.
- 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.
- O status de request:app_encparts deve ser exibido como Configurado.
- Defina as configurações do token Username na ligação do servidor, da seguinte forma:
- Clique em request:myUserNameToken em Tokens de Autenticação.
- Clique em Aplicar.
- Clique em Manipulador de Retorno de Chamada.
- Clique em OK.
- Em Propriedades Customizadas, clique em Novo para incluir as propriedades para verificar nonce e timestamp.
- Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.verifyNonce para verificar nonce, e o valor da propriedade true.
- Insira o nome da propriedade com.ibm.wsspi.wssecurity.token.username.verifyTimestamp para verificar timestamp, e o valor da propriedade true.
- Clique em OK novamente.
- O status de request:myUserNameToken deve ser exibido como Configurado.
- Clique em Salvar para salvar as ligações do servidor.