Configurando um conjunto de políticas e ligações para Criptografia do Certificado de Assinante

Este procedimento descreve como configurar um consumidor/provedor JAX-WS para criptografia do certificado de assinante. A criptografia do certificado de assinante significa que o certificado público do cliente usado para verificar a assinatura digital da mensagem de solicitação de entrada é usado para criptografar a resposta de saída.

Antes de Iniciar

Esta tarefa supõe que o provedor e o cliente de serviços que estão sendo configurados estão no aplicativo JaxWSServicesSamples. Consulte o tópico Acessando amostras para obter informações adicionais sobre como obter e instalar esse aplicativo.

Use a especificação de rastreio a seguir no servidor. Essas especificações permitem depurar os futuros problemas de configuração que possam ocorrer.
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all:  com.ibm.ws.wssecurity.*=all:
    com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all:
    com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:
    com.ibm.ws.webservices.multiprotocol.AgnosticService=all:
    com.ibm.ws.websvcs.utils.SecurityContextMigrator=all 

Sobre Esta Tarefa

Como a criptografia do certificado de assinante está sendo usada, somente o keystore de assinatura digital do cliente será usado neste procedimento. O serviço obterá o certificado público usado para verificação de assinatura a partir da solicitação de entrada, em seguida, o usará para criptografar a resposta. No lado do provedor, a propriedade customizada com.ibm.wsspi.wssecurity.token.cert.useRequestorCert=true no gerador de criptografia do provedor é usada para realizar isso.

O keystore usado neste procedimento é fornecido com o WebSphere Application Server e é instalado em cada perfil criado. É possível usar a variável ${USER_INSTALL_ROOT} diretamente na configuração para apontar convenientemente para o local do keystore sem usar um caminho completo. ${USER_INSTALL_ROOT} é resolvido para um caminho como c:/WebSphere/AppServer/profiles/AppSrv01.
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
Devido à natureza de JaxWSServicesSamples, para aplicar o conjunto de políticas e ligações a esse aplicativo, no console administrativo, clique em Aplicativos > Tipos de aplicativo > Aplicativos corporativos do WebSphere > JaxWSServicesSamples. Ao usar os próprios aplicativos, é possível usar os caminhos a seguir como uma maneira alternativa para acessar o provedor e o cliente para o anexo do conjunto de políticas e ligações:
  • Serviços > Provedores de serviços > (AppName)
  • Serviços > Clientes de serviço > (AppName)
Este procedimento executará o seguinte para simplificar a tarefa:
  • Somente a assinatura digital de saída e a criptografia de entrada serão configuradas.
  • As ligações gerais serão usadas para o cliente e o provedor.
Evitar Problemas Evitar Problemas:

Depois de concluir a tarefa, se você tiver que voltar e editar as ligações gerais criadas, será necessário reiniciar o servidor de aplicativos depois de salvar suas atualizações. Embora seja possível criar uma ligação geral e usá-la diretamente sem reiniciar o servidor de aplicativos, depois que uma ligação geral tiver sido carregada por um aplicativo, as mudanças na ligação não serão reconhecidas até que o servidor seja reiniciado.

gotcha

Procedimento

  1. Crie o conjunto de políticas customizado.
    1. No console administrativo, clique em Serviços > Conjuntos de políticas > Conjuntos de políticas de aplicativo.
    2. Clique em Novo(a).
    3. Especifique name=OutSignInEncPolicy.
    4. Em Políticas, clique em Incluir > Segurança WS.
  2. Edite o conjunto de políticas customizado para remover a criptografia de saída e a assinatura de entrada.
    1. No console administrativo, clique em WS-Security > Política Principal.
    2. Em Proteção de nível de mensagem, clique em Proteção de parte da mensagem de solicitação.
    3. Clique em app_encparts.
    4. Clique em Excluir.
    5. Clique em Concluído.
    6. Clique em Proteção de Parte da Mensagem de Resposta.
    7. Clique em app_sigparts.
    8. Clique em Excluir.
    9. Clique em Concluído.
  3. Clique em Salvar para salvar suas mudanças na configuração.
  4. Crie a ligação geral do provedor.
    1. No console administrativo, clique em Serviços > Conjuntos de políticas > Ligações de conjunto de políticas do fornecedor geral..
    2. Marque Amostra do provedor.
    3. Clique em Copiar....
    4. Especifique name=ProviderSignerCertGeneralBinding.
    5. Clique OK.
  5. Edite ProviderSignerCertGeneralBinding para executar a criptografia do certificado de assinante.
    1. Clique em ProviderSignerCertGeneralBinding > Segurança WS > Autenticação e proteção > gen_encx509token > Manipulador de retorno de chamada.
    2. Em Propriedades customizadas, insira:
      Name=com.ibm.wsspi.wssecurity.token.cert.useRequestorCert
      value=true
    3. Em Keystore, selecione Nome=Nenhum
    4. Clique OK.
  6. Crie a ligação geral do cliente.
    1. No console administrativo, clique em Serviços > Conjuntos de políticas > Ligações gerais do conjunto de políticas do cliente.
    2. Marque Amostras do cliente.
    3. Clique em Copiar....
    4. Especifique name=ClientSignerCertGeneralBinding.
    5. Clique OK.
  7. Edite ClientSignerCertGeneralBinding para usar sua própria chave de assinatura para decriptografar a mensagem.
    1. Clique em ClientSignerCertGeneralBinding > Segurança WS > Autenticação e proteção > con_encx509token > Callback handler > Configuração de keystore customizado.
    2. Em keystore, insira o mesmo keystore que é usado pelo gerador de assinatura:
      Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
      Type=JKS
      Password=client
    3. Em Chave, insira a mesma chave que é usada pelo gerador de assinatura:
      Name=CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP
      Alias=soaprequester
      Password=client
    4. Clique OK.
  8. Configure o cliente para usar o conjunto de políticas OutSignInEncPolicy e a ligação geral ClientSignerCertGeneralBinding.
    1. No console administrativo, clique em Aplicativos > Tipos de aplicativo > Aplicativos corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de políticas e ligações do cliente de serviço.
    2. Selecione o recurso do cliente de serviços da web (JaxWSServicesSamples).
    3. Clique em Anexar Conjunto de Políticas.
    4. Selecione OutSignInEncPolicy.
    5. Selecione novamente o recurso do cliente de serviços da web (JaxWSServicesSamples).
    6. Clique em Designar Ligação.
    7. Selecione ClientSignerCertGeneralBinding.
  9. Configure o provedor para usar o conjunto de políticas SimpleSignEncPolicy e a ligação geral ProviderSignerCertGeneralBinding.
    1. No console administrativo, clique em Aplicativos > Tipos de aplicativo > Aplicativos corporativos do WebSphere > JaxWSServicesSamples > Conjuntos de políticas e ligações do provedor de serviços.
    2. Selecione o recurso do provedor de serviços da web (JaxWSServicesSamples).
    3. Clique em Anexar Conjunto de Políticas.
    4. Selecione OutSignInEncPolicy.
    5. Selecione o recurso do provedor de serviços da web novamente (JaxWSServicesSamples).
    6. Clique em Designar Ligação.
    7. Selecione PrioviderSignerCertGeneralBinding.
  10. Clique em Salvar para salvar suas mudanças na configuração.
  11. Reinicie o cliente e o provedor.
    1. Pare o cliente e o provedor.
    2. Reinicie o cliente e o provedor.
  12. Teste o serviço.
    1. Aponte seu navegador da web para o JaxWSServicesSamples: http://localhost:9080/wssamplesei/demo.
      Evitar Problemas Evitar Problemas: Certifique-se de fornecer o nome do host e a porta corretos se o seu provedor não estiver na mesma máquina ou a porta não for 9080.gotcha
    2. Selecione Eco Síncrono do Tipo de Mensagem.
    3. Certifique-se de que Usar SOAP 1.2 não esteja selecionado.
    4. Insira uma mensagem e clique em Enviar Mensagem.
    O aplicativo de amostra deve responder com JAXWS==>Message.

Resultados

O aplicativo de serviços da web JaxWSServicesSamples está configurado para criptografar respostas usando o certificado usado para assinar a solicitação.

Í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_configpolicysetforsignerencrypt
Nome do arquivo: twbs_configpolicysetforsignerencrypt.html