FeaturesPluginsDocs & SupportCommunityPartners

Usando armazenamento de chaves personalizado para segurança de nível de mensagem dos serviços Web

Conteúdo

O conteúdo desta página se aplica ao NetBeans 6.0

O armazenamento de chaves

Um armazenamento de chaves é um banco de dados protegido, ou um dispositivo de armazenamento para chaves, que mantém chaves criptográficas para uma empresa. O acesso a um armazenamento de chaves é protegido por uma senha (definida quando o armazenamento de chaves é criado). Além disso, cada chave privada em um armazenamento de chaves pode ser protegida por sua própria senha.
Os armazenamentos de chaves podem ter tipos diferentes de entradas. Os tipos de entrada mais aplicáveis para uma ferramenta de chaves são:

  • Entradas de chave - cada uma mantém informações de chave criptográfica extremamente sigilosas, que são armazenadas em um formato protegido para evitar acesso não autorizado. Geralmente, uma chave armazenada nesse tipo de entrada é uma chave secreta, ou uma chave privada acompanhada pela "cadeia" de certificado da chave pública correspondente.
  • Entradas de certificado confiáveis - cada entrada contém um único certificado de chave pública que pertence a um terceiro. Ele é chamado de "certificado confiável" porque o proprietário do armazenamento de chaves confia que a chave pública do certificado realmente pertence à identidade identificada pelo "sujeito" (proprietário) do certificado. O emissor do certificado atesta isso, assinando o certificado.

Segurança de nível de mensagem em provedores de serviços Web e clientes de serviços Web

O recurso NetBeans Enterprise Pack Identity permite aos desenvolvedores fornecer a segurança de nível de mensagem no provedor de serviços Web (WSP) e nos clientes de serviços Web (WSC). A segurança de nível de mensagem permite o uso de dois tipos de perfis de token, assim como outros:

  • WS-I Basic Security Profile (perfis de token baseados em BSP; chamados, SAML_SenderVouches, SAML_HolderOfKey, X509 e UserNameToken).
  • Perfis de token específico do ID-WSF do Liberty; chamados, LibertySAML, LibertyBearer e LibertyX509.

A ferramenta Identity do NetBeans permite que você assine o token de segurança ou a resposta através de configurações de certificado que são expostas nos assistentes para segurança do WSP e do WSC, como na captura de tela seguinte das confiigurações de certificado usadas pelo WSP.

Editar perfil 1 de amostra

Aqui, por padrão, a opção Usar armazenamento de chaves padrão é selecionada. Com esta opção, o WSP usará o armazenamento de chaves que é empacotado no gerenciador de acesso. Existem dois armazenamento de chaves empacotados no servidor do gerenciador de acesso:

  • amclientkeystore.jks usado pelo SDK do cliente, que é finalmente utilizado pelos provedores de autenticação no WSC e no WSP.
  • amserverkeystore.jks , o arquivo de armazenamento de chaves do servidor usado pelo serviço de descoberta do Liberty hospedado no gerenciador de acesso para gerar os tokens de segurança e assinar/verificar as mensagens de solicitação/resposta.

O armazenamento de chaves

Aqui, por padrão, a opção Usar armazenamento de chaves padrão é selecionada. Com esta opção, o WSP usará o armazenamento de chaves que é empacotado no gerenciador de acesso. Existem dois armazenamento de chaves empacotados no servidor do gerenciador de acesso:

  • amclientkeystore.jks usado pelo SDK do cliente, que é finalmente utilizado pelos provedores de autenticação no WSC e no WSP.
  • amserverkeystore.jks , o arquivo de armazenamento de chaves do servidor usado pelo serviço de descoberta do Liberty hospedado no gerenciador de acesso para gerar os tokens de segurança e assinar/verificar as mensagens de solicitação/resposta.
O armazenamento de chaves

O armazenamento de chaves fica disponível depois da instalação do Enterprise Pack. O armazenamento de chaves é pré-populado com alias de chaves que o servidor do gerenciador de acesso e o SDK do cliente usam para:

  • Assinar o token de segurança (SAML, X509 e Liberty por padrão)
  • Assinar a resposta do WSP e verificar a resposta no WSC
  • Com o WSC, faça a consulta do serviço de descoberta do Liberty para as ofertas de serviços do WSP armazenadas na autoridade confiável.
  • Assinar os perfis de segurança do Liberty pelo serviço de descoberta do Liberty

O armazenamento de chaves padrão contém os seguintes alias pré-populados:

  • amclient. Usado pelo WSC/WSP quando a mensagem SOAP de saída tiver que ser assinada
  • amserver. Usado pelo autoridade confiável aka do serviço de descoberta para criar tokens de segurança. O WSP valida essa chave usando sua chave pública.

O IDE se comunica com o servidor do gerenciador de acesso usando o SDK do cliente do gerenciador de acesso.

O SDK do cliente do gerenciador de acesso é inicializado com as propriedades para falar com o servidor através de um arquivo chamado AMConfig .properties. O arquivo de propriedades deste SDK do cliente é instalado por padrão em /addons/amserver/AMConfig.properties .

Propriedades do AMConfig.properties que se relacionam às configurações do armazenamento de chaves

As propriedades relevantes no arquivo AMConfig.properties que se relacionam às configurações do armazenamento de chaves e que são usadas pelo tempo de execução do SDK do cliente/provedor de autenticação são:

  • com.sun.identity.liberty.ws.wsc.certalias=amclient
  • com.sun.identity.liberty.ws.trustedca.certaliases=amserver:localhost

A propriedade com.sun.identity.liberty.ws.wsc.certalias é usada pelo cliente de serviços Web/provedores de serviços Web para qualquer mensagem SOAP de saída que precise ser assinada por meio do X509Token do Liberty. Por exemplo, essa propriedade é usada pelo cliente de serviços Web quando ele consulta a oferta de serviços no serviço de descoberta e, ao mesmo tempo, a mesma propriedade é usada quando há uma tentativa de falar com o WSP por meio do perfil de token X509.

O WSP usa a propriedade com.sun.identity.liberty.ws.trustedca.certaliases para identificar suas autoridades confiáveis e suas chaves públicas. Por exemplo, quando dizemos que o valor dessa propriedade é amserver:localhost , ela está confiando no serviço de descoberta do localhost cuja chave pública é amserver.

Usando as configurações do armazenamento de chaves

No Enterprise Pack, você pode usar as configurações do armazenamento de chaves para o seguinte:

  • Assinar perfis de token quando eles são enviados em um cabeçalho SOAP.
    Os perfis de token, conforme definidos por suas especificações, precisam ser assinados quando enviados em um cabeçalho SOAP. Por exemplo, a especificação SAML define que as asserções SAML enviadas em um cabeçalho SOAP sempre devem ser assinadas.
  • Assine a resposta que é enviada do provedor de serviços Web para os clientes do serviço Web.
    A ferramenta Enterprise Pack permite que os usuários assinem a resposta que é enviada do WSP para o WSC. Esse recurso assina a mensagem SOAP completa (o Cabeçalho e o Corpo) e permite ao WSC verificar a assinatura antes de aceitar a resposta do WSP.

Usando armazenamentos de chaves personalizados para perfis de token do WSI-BSP e perfis de token do Liberty

Para usar os perfis de token do WSI-BSP com armazenamentos de chaves personalizados.

  1. Verifique se você possui um armazenamento de chaves existente e que os alias de chave obrigatórios são populados.
  2. Na janela Tempo de execução, abra o perfil. Consulte a figura abaixo.
  3. Editar perfil de amostra 2
  4. Na seção Configurações do certificado, realize as etapas seguintes. Observe que nenhum dos valores indicados pode ser nulo.
  5. Limpe a caixa de verificação Usar armazenamento de chaves padrão, que é marcada por padrão.
  6. Nos campos de texto seguintes à caixa de verificação, digite:
    1. O caminho completo para obter o arquivo do armazenamento de chaves. O único formato de armazenamento de chaves suportado é JKS.
    2. A senha do armazenamento de chaves.
    3. O alias da chave a ser usado pelo WSP para assinar a resposta ou para assinar o token de segurança.
    4. A senha do alias da chave. Indique um valor válido mesmo que seja o mesmo que a senha do armazenamento de chaves.
  7. Clique em OK para enviar alterações.
  8. Abra o painel de segurança do WSC. Siga as mesmas etapas acima para adicionar os detalhes do armazenamento de chaves personalizado a ser usado pelo WSC.
  9. Implante o cliente e execute a aplicação.
  10. O WSC e o WSP usarão o armazenamento de chaves especificado pelo usuário.

Usando os armazenamentos de chaves personalizados para perfis de token do Liberty

Para usar os armazenamentos de chaves para perfis de token do Liberty:

Você deve ter um armazenamento de chaves existente com os alias da chave obrigatórios populados. Esse armazenamento de chaves deve ser acessado localmente (fisicamente localizado onde o servidor da aplicação está instalado) pelo tempo de execução do servidor da aplicação.

  1. Abra o perfil de token do Liberty na janela Tempo de execução.
  2. Use as mesmas configurações para um armazenamento de chaves personalizado, como destacado na seção anterior.
  3. Abra o painel de segurança do WSC. Siga as mesmas etapas acima para adicionar os detalhes do armazenamento de chaves personalizado a ser usado pelo WSC.
  4. Para usar um armazenamento de chaves para o perfil de token do Liberty, você deve realizar uma configuração adicional, como descrito no tópico da Ajuda online do IDE "Using a Custom Keystore for the Liberty Token Profile" (Usando um armazenamento de chaves personalizado para o perfil de token do Liberty).
  5. Execute o WSC ativado pelo Liberty.
    Agora ele usa o armazenamento de chaves personalizado especificado pelo desenvolvedor.

O armazenamento de chaves personalizado especificado pelo usuário é efetivo para a instância do servidor da aplicação. Todas as aplicações implantadas na instância devem usar a mesma configuração de armazenamento de chaves.

Consulte também

Consulte a documentação seguinte para obter uma descrição do uso da ferramenta de chave.


início

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by