Configurando Geradores de Token Usando JAX-RPC para Proteger a Autenticidade de Mensagens no Nível do Aplicativo

Ao especificar os geradores de tokens no nível do aplicativo, as informações são utilizadas no lado do gerador para gerar o token de segurança.

Antes de Iniciar

É necessário entender 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 diferença principal se aplica ao Alias para um manipulador de retorno de chamada X.509.

Quando usado em associação com um gerador de criptografia, o alias fornecido para o gerador é usado para recuperar a chave pública para criptografar a mensagem. Uma senha não é necessária. O alias inserido em um manipulador de retorno de chamada associado a um gerador de criptografia deve estar acessível sem uma senha. Isso significa que o alias não deve ter informações de chave privada associadas a ele no keystore. Quando usado em associação com um gerador de assinatura, o alias fornecido para o gerador é usado para recuperar a chave privada para assinar a mensagem. Uma senha é necessária.

Sobre Esta Tarefa

Conclua as seguintes etapas para configurar o gerador de token no nível do aplicativo:

Procedimento

  1. Localize o painel de gerador de token no console administrativo.
    1. Clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > application_name.
    2. Em Gerenciar Módulos, clique em URI_name.
    3. Em Propriedades de Web Services Security, é possível acessar os geradores de token para as seguintes ligações:
      • Para a ligação do gerador de pedidos (emissor), clique em Serviços da Web: Ligações de Segurança do Cliente. Em Ligação do Gerador de Pedidos (Emissor), clique em Editar Customização.
      • Para a ligação do gerador de respostas (emissor), clique em Serviços da Web: Ligações de Segurança do Servidor. Em Ligação do Gerador de Respostas (Emissor), clique em Editar Customização.
    4. Em Propriedades Adicionais, clique em Geradores de Token.
    5. Clique em Novo para criar uma configuração do gerador de tokens, selecione uma configuração existente. Clique em Excluir para excluir uma configuração existente ou clique no nome de uma configuração do gerador de token existente para editar as configurações. Se estiver criando uma nova configuração, digite um nome exclusivo no campo Nome do Gerador de Token. Por exemplo, é possível especificar gen_signtgen.
  2. Especifique um nome de classe no campo Nome da Classe do Gerador de Token. A classe do gerador de token deve implementar a interface com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent. O nome da classe do gerador de token para o gerador de pedido e o gerador de resposta deve ser semelhante ao nome da classe do consumidor de token para o consumidor de pedido e o consumidor de resposta. Por exemplo, se seu aplicativo precisar de um consumidor de token do nome do usuário, será possível especificar o nome da classe com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer no painel do consumidor de token para o nível do aplicativo e o nome da classe com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator neste campo.
  3. Opcional: Selecione uma referência de parte no campo Referência da Parte. A referência de parte indica o nome do token de segurança definido no descritor de implementação.
    Importante: No nível do aplicativo, se não for especificado um token de segurança em seu descritor de implementação, o campo Referência da Parte não é exibido. Se você definir um token de segurança chamado user_tgen em seu descritor de implementação, user_tgen será exibido como uma opção no campo Referência da Parte. É possível especificar um token de segurança no descritor de implementação quando montar seu aplicativo utilizando uma ferramenta de montagem.
  4. Selecione Nenhum ou Informações sobre Assinatura Dedicada para o caminho do certificado. Selecione Nenhum quando o gerador de token não usar o tipo de token PKCS#7. Quando o gerador de token usar o tipo de token PKCS#7 e você desejar empacotar CRLs (Certificate Revocation Lists) no token de segurança, selecione Informações sobre Assinatura Dedicada e selecione um armazenamento de certificados. Para configurar um armazenamento de certificados de coleção e Certificate Revocation Lists para as ligações do gerador no nível do aplicativo, conclua as seguintes etapas:
    1. Clique em Aplicativos > Tipos de Aplicativos > Aplicativos Corporativos do WebSphere > application_name.
    2. Em Itens Relacionados, clique em Módulos EJB ou Módulos da Web > URI_name.
    3. Em Propriedades Adicionais, é possível acessar a configuração do armazenamento de certificados de coleção para as seguintes ligações:
      • Para a ligação do gerador de pedidos (emissor), clique em Serviços da Web: Ligações de Segurança do Cliente. Em Ligação do Gerador de Pedidos (Emissor), clique em Editar Customização.
      • Para a ligação do gerador de respostas (emissor), clique em Serviços da Web: Ligações de Segurança do Servidor. Em Ligação do Gerador de Respostas (Emissor), clique em Editar Customização.
    4. Em Propriedades Adicionais, clique em Armazenamento de Certificados de Coleção.

    consulte também as informações sobre a configuração de um armazenamento de certificados de coleção.

  5. Opcional: Selecione a opção Incluir Nonce. Esta opção indica se um nonce está incluído no token do nome do usuário para o gerador de token. Nonce é um número criptográfico exclusivo incorporado em uma mensagem para ajudar a interromper repetidos ataques não autorizados de tokens do nome do usuário. A opção Incluir Nonce é válida apenas quando o tipo de token gerado é um token do nome do usuário e está disponível apenas para a ligação do gerador de pedidos.
    Se você selecionar a opção Incluir Nonce, poderá especificar as seguintes propriedades em Propriedades Adicionais. Estas propriedades são utilizadas pelo consumidor de pedido.
    Tabela 1. Propriedades Adicionais do Nonce. Utilize as propriedades de nonce para incluir no token do nome do usuário.
    Nome da Propriedade Valor Padrão Explicação
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.cacheTimeout 600 segundos Especifica o valor de tempo limite, em segundos, para o valor de nonce armazenado em cache no servidor.
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.clockSkew 0 segundos Especifica o tempo, em segundos, antes da expiração da data e hora nonce.
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.maxAge 300 segundos Especifica o valor da diferença do relógio, em segundos, a ser considerado quando o WebSphere Application Server verifica a duração da mensagem.
    Na célula e níveis do servidor, você pode especificar essas propriedades adicionais para um nonce nas ligações padrão do painel de Segurança de Serviços da Web com o console administrativo.
    • Para o nível de célula, clique em Segurança > Serviços da Web.
    • Para o nível do servidor, clique em Servidores > Tipos de Servidor > Servidores de Aplicativos WebSphere > server_name. Em Segurança, clique em Tempo de Execução de Segurança dos JAX-WS e JAX-RPC.
      Ambiente de Versões Mistas Ambiente de Versões Mistas: Em uma célula de nó combinado com um servidor usando o Websphere Application Server versão 6.1 ou anterior, clique em serviços da Web: Ligações Padrão de Segurança de Serviços da Web.mixv
  6. Opcional: Selecione a opção Incluir Time Stamp. Esta opção indica se será necessário inserir um registro de data e hora no token do nome do usuário. A opção Incluir Registro de Data e Hora é válida apenas quando o tipo de token gerado é um token do nome do usuário e está disponível apenas para a ligação do gerador de pedido.
  7. Especifique o nome local do tipo de valor no campo Nome Local. Para um token do nome do usuário e um token de segurança de certificado X.509, o WebSphere Application Server fornece nomes de local predefinidos para o tipo de valor. Quando especificar qualquer um dos nomes locais a seguir, não é necessário especificar um URI de tipo de valor:
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
    Este nome local especifica um token do nome do usuário.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
    Este nome local especifica um token de certificado X.509.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
    Este nome local especifica certificados X.509 em um caminho de PKI (Infra-estrutura da Chave Pública).
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
    Este nome local especifica uma lista de certificados X.509 e de Certificate Revocation Lists em um formato PKCS#7.

    Para um token LTPA, é possível usar LTPA para o nome local do tipo de valor e http://www.ibm.com/websphere/appserver/tokentype/5.0.2 para o URI (Identificador Uniforme de Recursos) do tipo de valor. Para a propagação do token LTPA, é possível usar LTPA_PROPAGATION para o nome local do tipo de valor e http://www.ibm.com/websphere/appserver/tokentype para o URI do tipo de valor.

  8. Opcional: Especifique a URI do tipo de valor no campo URI. Esta entrada especifica o URI de espaço de nomes do tipo de valor para o token gerado.
  9. Clique em OK e Salvar para salvar a configuração.
  10. Clique no nome da sua configuração do gerador de token.
  11. Em Propriedades Adicionais, clique em Rotina de Tratamento de Retorno de Chamada.
  12. Especifique as definições para o manipulador de retorno de chamada.
    1. Especifique um nome de classe no campo Nome da Classe do Manipulador de Retorno de Chamada. Este nome de classe é o nome da classe de implementação da rotina de tratamento de retorno de chamada utilizada para conectar uma estrutura do token de segurança. A classe da rotina de tratamento de retorno de chamada especificada deve implementar a interface javax.security.auth.callback.CallbackHandler e deve fornecer um construtor utilizando a seguinte sintaxe:
      MyCallbackHandler(String username, char[] password, java.util.Map properties)
      Onde:
      nome do usuário
      Especifica o nome do usuário transmitido para a configuração.
      senha
      Especifica a senha transmitida para a configuração.
      properties
      Especifica as outras propriedades de configuração transmitidas para a configuração.
      Este construtor será requerido se a rotina de tratamento de retorno de chamada precisar de um nome do usuário e senha. No entanto, se a rotina de tratamento de retorno de chamada não precisar de um nome do usuário e senha, como X509CallbackHandler, utilize um construtor com a seguinte sintaxe:
      MyCallbackHandler(java.util.Map properties)
      O WebSphere Application Server fornece as seguintes implementações de manipulador de retorno de chamada padrão:
      com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      Esta rotina de tratamento de retorno de chamada utiliza um prompt de login para reunir informações sobre nome do usuário e senha. No entanto, se você especificar o nome de usuário e a senha nesse painel, um prompt não será exibido e o WebSphere Application Server retornará o nome de usuário e a senha para o gerador de token. Utilize esta implementação apenas para um aplicativo cliente Java™ EE (Java Platform, Enterprise Edition). Se você utilizar esta implementação, deverá fornecer um ID do usuário e senha de autenticação básica neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      Esta rotina de tratamento de retorno de chamada não emite um prompt e retorna o nome do usuário e a senha, se estiverem especificados neste painel. É possível usar esse manipulador de retorno de chamada quando o serviço da Web está atuando como um cliente. Se você usar esta implementação, deverá fornecer um ID do usuário e senha de autenticação básica neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      Esta rotina de tratamento de retorno de chamada utiliza um prompt padrão para reunir o nome do usuário e a senha. No entanto, se o nome de usuário e a senha forem especificados nesse painel, o WebSphere Application Server não emitirá um aviso, mas retornará o nome de usuário e a senha para o gerador de token. Utilize esta implementação apenas para um aplicativo cliente Java EE (Java Platform, Enterprise Edition). Se você utilizar esta implementação, deverá fornecer um ID do usuário e senha de autenticação básica neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
      Esta rotina de tratamento de retorno de chamada é utilizada para obter o token de segurança LTPA (Lightweight Third Party Authentication) do Subject da chamada Executar Como. Esse token é inserido no cabeçalho da Segurança de Serviços da Web na mensagem SOAP como um token de segurança binário. Entretanto, se o nome de usuário e a senha forem especificados nesse painel, o WebSphere Application Server autenticará o nome de usuário e a senha para obter o token de segurança LTPA em vez de obtê-lo do assunto de Executar Como. Utilize este manipulador de retorno de chamada apenas quando o serviço da Web estiver agindo como um cliente no servidor de aplicativos. É recomendável não usar este manipulador de retorno de chamada em um aplicativo cliente Java EE. Se você usar esta implementação, deverá fornecer um ID do usuário e senha de autenticação básica neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      Esse manipulador de retorno de chamada é usado para criar o certificado X.509 que é inserido no cabeçalho da Segurança de Serviços da Web na mensagem SOAP como um token de segurança binário. São requeridos um armazenamento de chave e uma definição de chave para esta rotina de tratamento de retorno de chamada. Se você utilizar esta implementação, deverá fornecer uma senha, um caminho e um tipo de armazenamento de chaves neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      Esta rotina de tratamento de retorno de chamada é utilizada para criar certificados X.509 codificados com o formato PKCS#7. O certificado é inserido no cabeçalho do Web Services Security na mensagem SOAP como um token de segurança binário. É requerido um armazenamento de chave para esta rotina de tratamento de retorno de chamada. É possível especificar uma CRL (Certificate Revocation List) no armazenamento de certificados de coleção. A CRL é codificada com o certificado X.509 no formato PKCS#7. Se você utilizar esta implementação, deverá fornecer uma senha, um caminho e um tipo de armazenamento de chaves neste painel.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      Esta rotina de tratamento de retorno de chamada é utilizada para criar certificados X.509 codificados com o formato PkiPath. O certificado é inserido no cabeçalho do Web Services Security na mensagem SOAP como um token de segurança binário. É requerido um armazenamento de chave para esta rotina de tratamento de retorno de chamada. Uma CRL não é suportada pela rotina de tratamento de retorno de chamada; portanto, o armazenamento de certificados de coleção não é requerido nem utilizado. Se você utilizar esta implementação, deverá fornecer uma senha, um caminho e um tipo de armazenamento de chaves neste painel.

      A implementação do manipulador de retorno de chamada obtém o token de segurança requerido e transmite-o para o gerador de token. O gerador de token insere o token de segurança no cabeçalho da Segurança de Serviços da Web dentro da mensagem SOAP. Além disso, o gerador de token é um ponto de plug-in para a estrutura do token de segurança que pode ser conectada. Os fornecedores de serviços podem oferecer sua própria implementação, mas a implementação deve usar a interface com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent.

    2. Opcional: Selecione a opção Utilizar Asserção de Identidade. Selecione essa opção se você tiver asserção de identidade definida no descritor de implementação estendida da IBM®. Essa opção indica que apenas a identidade do emissor inicial é necessária e inserida no cabeçalho de Segurança de Serviços da Web na mensagem SOAP. Por exemplo, o WebSphere Application Server envia apenas o nome de usuário do responsável pela chamada original para um gerador de token do nome de usuário. Para um gerador de token X.509, o servidor de aplicativos envia apenas o certificado de signatário original.
    3. Opcional: Selecione a opção Utilizar Identidade Executar Como. Selecione essa opção se você tiver asserção de identidade definida no descritor de implementação estendida da IBM e desejar usar a identidade Executar Como, em vez da identidade do responsável pela chamada inicial, para asserção de identidade em uma chamada de recebimento de dados. Esta opção será válida apenas se você tiver um Username TokenGenerator configurado como um gerador de token.
    4. Opcional: Especifique o ID do usuário de autenticação básica no campo ID do Usuário de Autenticação Básica. Esta entrada especifica o nome do usuário transmitido para os construtores da implementação da rotina de tratamento de retorno de chamada. O nome do usuário e a senha de autenticação básica serão utilizados se você especificar uma das seguintes implementações da rotina de tratamento de retorno de chamada padrão no campo Nome da Classe da Rotina de Tratamento de Retorno de Chamada:
      • com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    5. Opcional: Especifique a senha de autenticação básica no campo Senha de Autenticação Básica. Esta entrada especifica a senha transmitida para os construtores da implementação da rotina de tratamento de retorno de chamada.
    6. Opcional: Especifique a senha do armazenamento de chaves no campo Senha do Armazenamento de Chaves. Esta entrada especifica a senha utilizada para acessar o arquivo de armazenamento de chaves. O armazenamento de chaves e sua configuração são utilizados se você selecionar uma das seguintes implementações do manipulador de retorno de chamada padrão fornecidas pelo WebSphere Application Server:
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      O armazenamento de chave é utilizado para construir o certificado X.509 com o caminho do certificado.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      O armazenamento de chave é utilizado para construir o certificado X.509 com o caminho do certificado.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      O armazenamento de chave é utilizado para recuperar o certificado X.509.
    7. Opcional: Especifique o caminho do armazenamento de chaves no campo Caminho. É recomendável usar o ${USER_INSTALL_ROOT} no nome do caminho, pois essa variável se expande para o caminho do WebSphere Application Server em sua máquina. Para alterar o caminho utilizado por esta variável, clique em Ambiente > Variáveis do WebSphere e clique em USER_INSTALL_ROOT. Esse campo é requerido ao usar as implementações de manipulador de retorno de chamada com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler, com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler ou com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler.
    8. Opcional: Selecione o tipo de armazenamento de chave no campo Tipo. Esta seleção indica o formato utilizado pelo arquivo de armazenamento de chave. É possível selecionar um dos seguintes valores para este campo:
      JKS
      Utilize essa opção se o armazenamento de chaves usar o formato JKS (Java Keystore).
      JCEKS
      Utilize essa opção se o Java Cryptography Extension estiver configurado no SDK (kit de desenvolvimento de software). O IBM JCE padrão está configurado no WebSphere Application Server. Esta opção fornece maior proteção para chaves privadas armazenadas, utilizando a criptografia Triple DES.
      JCERACFKS
      Utilize JCERACFKS se os certificados forem armazenados em um anel de chaves SAF (somente z/OS).
      PKCS11KS (PKCS11)
      Utilize este formato se o seu armazenamento de chave utilizar o formato de arquivo PKCS#11. Os armazenamentos de chaves que utilizam este formato podem conter chaves RSA no hardware criptográfico ou podem criptografar chaves que utilizam hardware criptográfico para garantir proteção.
      PKCS12KS (PKCS12)
      Utilize esta opção se seu armazenamento de chave utilizar o formato de arquivo PKCS#12.
  13. Clique em OK e, em seguida, em Salvar para salvar a configuração.
  14. Clique no nome da sua configuração do gerador de token.
  15. Em Propriedades Adicionais, clique em Manipulador de Retorno de Chamada > Chaves.
  16. Especifique o nome, o alias e a senha da chave.
    1. Clique em Novo para criar uma configuração de chave, clique em Excluir para excluir uma configuração existente ou clique no nome de uma configuração de chave existente para editar suas definições. Se estiver criando uma nova configuração, digite um nome exclusivo no campo Nome da Chave. Para assinaturas digitais, o nome da chave é utilizado pelas informações sobre assinatura do gerador de pedido ou do gerador de resposta para determinar qual chave será utilizada para assinar digitalmente a mensagem. Para criptografia, o nome da chave é utilizado para determinar a chave utilizada para criptografia. O nome da chave deve ser um nome distinto completo. Por exemplo, CN=Bob,O=IBM,C=US.
    2. Especifique o alias da chave no campo Alias de Chave. O alias da chave é utilizado pelo localizador de chaves para localizar a chave no arquivo de armazenamento de chaves.
    3. Especifique a senha da chave no campo Senha da Chave. Esta senha é requerida para acessar o objeto de chave no arquivo de armazenamento de chave.
  17. Clique em OK e Salvar para salvar a configuração.

Resultados

Você configurou o gerador de token para o nível do aplicativo.

O que Fazer Depois

É necessário especificar uma configuração do consumidor de token semelhante para o nível do aplicativo.

Í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_configtokengenapp
Nome do arquivo: twbs_configtokengenapp.html