Use essa página para definir as configurações do manipulador de retorno de chamada para o JAX-WS, que determinam como os tokens de segurança são adquiridos a partir dos cabeçalhos de mensagem.
É possível configurar definições do manipulador de retorno de chamada quando se está editando uma ligação geral no nível do servidor ou no nível da célula. Também pode configurar ligações específicas do aplicativo para tokens e partes de mensagem necessárias pelo conjunto de política.
Evitar Problemas: Antes de especificar
valores para as propriedades Keystore e Chave
nesta página, você deve saber que as informações de keystore/alias fornecidas para o
gerador e as informações de keystore/alias fornecidas para o consumidor são usadas para
propósitos diferentes.
A principal diferença se aplica ao alias de um manipulador de retorno de chamada X.509.
gotcha![[Updated in October 2013]](../images/delta.gif)
Evitar Problemas: Como um alias usado para assinar uma mensagem requer uma senha, e um alias
usado para criptografar uma mensagem requer que não haja senha, não é possível usar o mesmo alias para um
gerador de assinatura e um gerador de criptografia.gotcha![[Updated in October 2013]](../images/deltaend.gif)
Quando usado em associação com um consumidor de assinatura, o alias fornecido para o consumidor é usado exclusivamente para recuperar a chave pública que é usada para resolver um certificado X.509 que não passou no cabeçalho de segurança SOAP como um BinarySecurityToken. Uma senha não é necessária.
O alias inserido em um manipulador de retorno de chamada associado a um consumidor de assinatura deve estar acessível sem uma senha. Isso significa que o alias não deve ter informações de chave privada associadas a ela no keystore.
Quando o certificado X.509 não passar no cabeçalho de segurança SOAP como um BinarySecurityToken, uma SecurityTokenReference aparecerá no elemento KeyInfo dentro do elemento Signature no cabeçalho de segurança SOAP que será usada para resolver o certificado X.509. Os métodos que podem ser usados são Identificador de chaves, Nome do emissor e série do emissor X.509 e Impressão Digital. O consumidor aceitará qualquer um desses três métodos para resolver um certificado X.509 fora da mensagem quando um keystore/alias for configurado para um consumidor de token X.509 associado a um consumidor de assinatura. O consumidor de token X.509 não resolve dinamicamente certificados que aparecem fora da mensagem para entradas em um keystore. Os certificados que serão usados devem ser conhecidos no momento da configuração e codificados permanentemente no manipulador de retorno de chamada do consumidor de token X.509.
Quando um certificado X.509 tiver de ser resolvido fora da mensagem, será possível resolver diversos certificados ao usar ligações gerais, mas somente um ao usar ligações específicas do aplicativo. Somente um certificado poderá ser resolvido fora da mensagem quando as ligações específicas do aplicativo forem usadas, pois, em ligações específicas do aplicativo, há somente um consumidor de token X.509 disponível para uso. Como há somente um consumidor de token X.509 para uso, há somente um alias a ser usado, portanto, somente um certificado pode ser resolvido. Por exemplo, se o consumidor de token X.509 for configurado para o certificado A, e se o cliente A enviar o keyIdentifier para o certificado A, o certificado poderá ser recuperado. No entanto, se o cliente B enviar o keyIdentifier para o certificado B, o certificado não poderá ser recuperado e a mensagem será rejeitada.
Quando as ligações gerais são usadas, diversos consumidores de token X.509 podem ser criados, com cada um contendo diferentes certificados configurados neles (keystore/alias). Todos os consumidores de token X.509 associados aos certificados que deseja resolver serão designados às informações chave de Assinatura da configuração da parte assinada nas ligações.
Quando um certificado X.509 é enviado no cabeçalho de segurança SOAP como BinarySecurityToken, se houver um keystore/alias configurado no consumidor de token X.509 associado a um consumidor de assinatura, o certificado que é configurado no consumidor será comparado com relação ao certificado que passou na mensagem. Se eles não corresponderem, a mensagem será rejeitada. Esse comportamento é diferente do JAX-RPC. O certificado associado ao alias configurado no consumidor de token X.509 não é usado para avaliar a confiança no certificado de entrada. Apenas o armazenamento confiável e o armazenamento de certificados são usados para esse propósito.
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
![[Updated in October 2013]](../images/delta.gif)
Evitar Problemas: Como um alias usado para decriptografar uma mensagem requer uma senha, e um alias
usado para verificar uma assinatura requer que não haja senha, não é possível usar o mesmo alias para um
consumidor de assinatura e um consumidor de criptografia.gotcha![[Updated in October 2013]](../images/deltaend.gif)
Esta página do console administrativo se aplica somente aos aplicativos Java API for XML Web Services (JAX-WS).
O Manipulador de Retorno de Chamada exibe os campos de forma diferente para cada token que é configurado. Dependendo se você está configurando um token gerador ou consumidor para proteção ou se está configurando tokens de entrada ou saída para autenticação, as seções e campos do painel exibem alguns ou todos os campos explicados neste tópico, conforme informado na descrição de cada campo.
Os campos da seção Nome da classe estarão disponíveis para todos os tipos de configuração de token.
Selecione o nome da classe a ser utilizado para o manipulador de retorno de chamada. Selecione a opção Utilizar padrão integrado para operação normal. Utilize a opção Utilizar Customizado somente se estiver utilizando um tipo de token customizado.
Para o tipo de token customizado do Kerberos, use o nome da classe com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler, para a configuração de gerador de token. Use o com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler para a configuração do consumidor de token.
Especifica se o valor padrão será utilizado para o nome da classe. Utilize o valor padrão (mostrado no campo) para o nome da classe quando selecionar este botão de rádio. Esse nome é baseado no tipo de token e em se o manipulador de retorno de chamada é para um token gerador ou consumidor. Essa opção é mutuamente exclusiva à opção Utilizar customizado.
Especifica se um valor customizado será utilizado para o nome da classe. Selecione este botão de rádio e digite o nome no campo para utilizar um nome de classe customizado.
Nenhum valor padrão está disponível para este campo de entrada. Utilize as informações contidas na tabela a seguir para determinar esse valor:
| Tipo de Token | Consumidor ou Gerador | Nome da Classe do Manipulador de Retorno de Chamada |
|---|---|---|
| UsernameToken | consumidor | com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler |
| UsernameToken | gerador | com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler |
| X509Token | consumidor | com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler |
| X509Token | gerador | com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler |
| LTPAToken/LTPAPropagationToken | consumidor | com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler |
| LTPAToken/LTPAPropagationToken | gerador | com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler |
| SecureConversationToken | consumidor | com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler |
| SecureConversationToken | gerador | com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler |
Esse botão é mutuamente exclusivo à opção Utilizar padrão integrado.
Os campos da seção Certificados estarão disponíveis se você estiver configurando um token de proteção. Para um token de gerador, é possível clicar para selecionar um armazenamento de certificados da lista, ou clicar no botão Novo para incluir um armazenamento de certificados.
Os campos da seção Certificados estarão disponíveis se você estiver configurando um token de proteção. Para um token do consumidor, é possível usar a opção Confiar em todo Certificado, ou a opção Armazenamento de Certificados, para configurar o armazenamento de certificados.
Esta opção é aplicável apenas ao consumidor de token. Essa opção indica que o sistema confiará em todos os certificados e não define um armazenamento de certificados específico. Essa opção é mutuamente exclusiva para a opção Armazenamento de Certificados.
Esta opção é aplicável apenas ao consumidor de token. Utilize esta opção para especificar uma coleta de armazenamentos de certificados contendo certificados intermediários, o que pode incluir listas de revogação de certificado (CRLs). Selecione esta opção para confiar no armazenamento ou nos armazenamentos de certificados especificados neste campo de entrada. Essa opção é mutuamente exclusiva à opção Confiar em todos os certificados. Quando você seleciona a opção Armazenamento de Certificados, o botão Novo é ativado para você poder configurar um novo armazenamento de certificados e um armazenamento de âncoras de confiança.
É possível configurar o valor do campo de armazenamento de certificados para o valor padrão, que é Nenhum. No entanto, o valor do armazenamento de âncoras de confiança deve ser configurado para um valor específico. Não há valor padrão. A âncora confiável é necessária se a opção Confiar Qualquer Certificado não for selecionada.
Os campos da seção Autenticação Básica estarão disponíveis se você estiver configurando um token de autenticação que não seja um token de propagação LTPA.
Para o tipo de token customizado Kerberos, você deve preencher a seção Autenticação Básica para o login Kerberos.
Especifica o nome de usuário que você deseja autenticar.
Especifica a senha a ser autenticada. Digite uma senha a ser autenticada neste campo de entrada.
Especifica a senha que você deseja confirmar.
Os campos keystore não estão disponíveis quando o tempo de execução determina que eles não são necessários.
Na lista de Nomes de armazenamento de chaves, é possível clicar em Customizado para definir um armazenamento de chaves customizado, clicar em um dos nomes de armazenamento de chaves definidos externamente ou clicar emNenhum se não for necessário armazenamento de chaves.
Especifica o nome do keystore que deseja usar.
Especifica os atributos de chave a serem recuperados a partir do armazenamento de chaves configurado. Alguns campos na seção Chave não estão disponíveis quando o tempo de execução determina que eles não são necessários.
Quando um keystore gerenciado centralmente é selecionado para o Keystore, os campos na seção Chave estão disponíveis.
Especifica o nome da chave a ser utilizada. A lista é preenchida com as chaves disponíveis no keystore gerenciado centralmente selecionado. Especifica o nome da chave que você deseja usar ou '(nenhum)' se nenhuma chave tiver que ser usada.
Exibe o alias do nome da chave selecionado.
Especifica a senha da chave que você deseja utilizar. Esse campo estará disponível apenas quando o tempo de execução determinar que ele é necessário.
Você não pode definir uma senha para chaves públicas para o gerador de criptografia assimétrica ou para o consumidor de criptografia assimétrica. Consulte 'evitar problema' no início do artigo.
Especifica a confirmação da senha da chave que você deseja utilizar. Esse campo estará disponível apenas quando o tempo de execução determinar que ele é necessário.
Não forneça uma senha de confirmação da chave para chaves públicas para criptografia de saída assimétrica ou assinatura de entrada.
Especifica um link para criar um armazenamento de chaves customizado. Clique neste link para abrir um painel em que é possível configurar um armazenamento de chaves customizado.
Especifica a senha utilizada para acessar o arquivo de armazenamento de chave.
Especifica o local do arquivo de armazenamento de chaves.
Utilize ${USER_INSTALL_ROOT} no nome do caminho porque essa variável é expandida para o caminho do produto em sua máquina. Para alterar o caminho utilizado por essa variável, clique em Ambiente > Variáveis do WebSphere e clique em USER_INSTALL_ROOT.
Especifica o tipo de formato de arquivo de armazenamento de chave
JCERACFKSOs campos da seção Propriedades customizadas estarão disponíveis para todos os tipos de configuração de token.
É possível incluir as propriedades customizadas necessárias para o manipulador de retorno de chamada por meio do uso de pares nome-valor.
Para implementar a criptografia do certificado signatário durante o uso do modelo de programação JAX-WS, inclua a propriedade customizada com.ibm.wsspi.wssecurity.token.cert.useRequestorCert com o valor true no manipulador de retorno de chamada do gerador de token de criptografia. Essa implementação utiliza o certificado do signatário do pedido SOAP para criptografar da resposta SOAP. Essa propriedade customizada é utilizada pelo gerador de resposta.
Para um token customizado Kerberos baseado no OASIS Web Services Security Specification para Kerberos Token Profile V1.1, especifique a seguinte propriedade para geração de token: com.ibm.wsspi.wssecurity.krbtoken.clientRealm. Isso especifica o nome da região do Kerberos associada ao cliente e permite que a região do cliente Kerberos inicie o login do Kerberos. Se não for especificado, o nome de região do Kerberos padrão será utilizado. Esta propriedade é opcional para um único ambiente da região do Kerberos.
A propriedade customizada do Kerberos, com.ibm.wsspi.wssecurity.krbtoken.loginPrompt, permite o login do Kerberos quando o valor é true. O valor padrão é false. Essa propriedade é opcional.
| Nome da propriedade (gerador) | Valor da propriedade |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.addNonce | true |
| com.ibm.wsspi.wssecurity.token.username.addTimestamp | true |
| Nome da propriedade (consumidor) | Valor da propriedade |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.verifyNonce | true |
| com.ibm.wsspi.wssecurity.token.username.verifyTimestamp | true |
Especifica o nome da propriedade customizada a ser utilizada.
As propriedades customizadas não são exibidas inicialmente nesta coluna. Clique em uma das ações a seguir para propriedades customizadas:
| Botão | Ação Resultante |
|---|---|
| Novo(a) | Cria uma nova entrada de propriedade customizada. Para incluir uma propriedade customizada, digite o nome e o valor. |
| Excluir | Remove a propriedade customizada selecionada. |
Especifica o valor da propriedade customizada a ser utilizada. Com o campo de entrada Valor, é possível inserir ou excluir o valor de uma propriedade customizada.