Utilize este tópico e os comandos no grupo SecureConversation do objeto
AdminTask para ativar o cache cliente de conversação segura, criando um novo conjunto de
política e ligações para conectar-se aos aplicativos.
Antes de Iniciar
Verifique se o conjunto de política SecureConversation está disponível em sua configuração. Por padrão, o conjunto de política SecureConversation não está disponível. Utilize o comando importPolicySet para importar a política
SecureConversation para sua configuração, conforme demonstra o seguinte exemplo:
AdminTask.importPolicySet('-defaultPolicySet SecureConversation')
Antes de utilizar os comandos neste tópico, verifique se você
está utilizando a versão mais recente da ferramenta wsadmin. Os comandos de gerenciamento
de conjunto de política que aceitam um objeto propriedades como valor para os parâmetros
attributes ou bindingLocation não são suportados nas versões anteriores da
ferramenta wsadmin. Por exemplo, os comandos não são executados em um nó da Versão
6.1.0.x.
Sobre Esta Tarefa
Este tópico utiliza o conjunto de política padrão SecureConversation e as
ligações padrão WS-Security e TrustServiceSecurityDefault para ativar a conversação
segura.
O conjunto de política padrão SecureConversation contém uma política de
aplicativo com a ligação simétrica, e uma política de auto-inicialização com a ligação
assimétrica. A política de aplicativo protege as mensagens do aplicativo. A política de auto-inicialização protege as mensagens RST (RequestSecurityToken). O
serviço confiável, que emite provedores de token de contexto de segurança, utiliza a
política de sistema TrustServiceSecurityDefault e as ligações
TrustServiceSecurityDefault. A política confiável protege as mensagens RSTR
(RequestSecurityTokenResponse). Se você modificar a política de auto-inicialização,
deverá também modificar a política confiável de modo que ambas as configurações
correspondam.
Evitar Problemas: Utilize as etapas a seguir apenas em ambientes de desenvolvimento
e teste. As ligações WS-Security neste procedimento contêm
arquivos de chave de amostra que devem ser customizados antes de utilizar as ligações em um ambiente
de produção.
Crie ligações customizadas para seu ambiente de produção.
gotcha
Procedimento
- Ative a ferramenta de script wsadmin usando a linguagem de script Jython. Para obter informações adicionais, consulte as informações sobre como iniciar o cliente de script wsadmin.
- Copie o conjunto de política SecureConversation existente.
Utilize
o seguinte exemplo de comando para criar um novo conjunto de política copiando o conjunto
de política SecureConversation existente:
AdminTask.copyPolicySet('[-sourcePolicySet SecureConversation -newPolicySet CopyOfSCPolicySet]')
- Altere a ligação do domínio de segurança global. Se você tiver escolhido
a opção Criar o Servidor Utilizando o Modelo de Desenvolvimento quando
criou seu perfil com a Ferramenta de Gerenciamento de Perfis ou o utilitário de comandos
manageprofiles, poderá, opcionalmente, ignorar esta etapa.
- Liste cada atributo de política WS-Security.
Para modificar
a ligação padrão do domínio de segurança global, utilize o comando getDefaultBindings
para determinar a ligação que é configurada como padrão para o provedor ou o cliente,
conforme demonstra o seguinte exemplo:
AdminTask.getDefaultBinding('-bindingType provider')
- Exiba os atributos para a ligação.
Utilize o
comando getBinding para exibir os atributos atuais para a ligação, conforme
demonstra o seguinte exemplo:
AdminTask.getBinding('-bindingLocation "" -bindingName myBinding')
- Modifique a configuração de saída para o token de proteção.
Utilize os seguintes comandos para modificar a configuração de saída para o
token de proteção:
cmd1_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.key.name [CN=Bob,O=IBM, C=US]] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.type JCEKS] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.keystore.path ${USER_INSTALL_ROOT}
/etc/ws-security/samples/enc-sender.jceks] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd1_attributes_value
-attachmentType application]')
cmd2_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore
.path ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.keypass client] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.alias soaprequester]
[application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd2_attributes_value
-attachmentType application]')
- Opcional: Modifique a ligação TrustDefaultBindings.
Se você tiver escolhido
a opção Criar o Servidor Utilizando o Modelo de Desenvolvimento quando
criou seu perfil com a Ferramenta de Gerenciamento de Perfis ou o utilitário de comandos
manageprofiles, poderá, opcionalmente, ignorar esta etapa.
Se a
ligação TrustDefaultBindings não estiver customizada ainda, utilize os seguintes comandos
para modificá-la:
cmd3_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore
.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.type JCEKS] [application
.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.path ${USER_INSTALL_ROOT}/etc
/ws-security/samples/enc-sender.jceks] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler
.key.name [CN=Bob, O=IBM, C=US]] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd3_attributes_value -attachmentType system/trust]')
cmd4_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.path
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler
.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.key.keypass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key
.alias soaprequester] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd4_attributes_value-attachmentType system/trust]')
- Conecte o conjunto de política e a ligação ao aplicativo.
Utilize
o parâmetro attachmentType para o comando createPolicySetAttachment para especificar se o
aplicativo é um cliente ou um provedor de serviços. Utilize os seguintes comandos para
conectar o conjunto de política
CopyOfSCPolicySet ao aplicativo cliente de serviço
myTestApp:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType client]')
Utilize os seguintes comandos para conectar o conjunto de política
CopyOfSCPolicySet ao aplicativo de provedor de serviços
myTestApp:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType application]')
Esta etapa designa automaticamente as ligações.
Resultados
Sua configuração de conversação segura é atualizada no arquivo
WSSCCache.xml localizado no diretório do nível de célula.
O que Fazer Depois
Gerencie suas configurações de conversação segura com o grupo de comando
SecureConversation do objeto AdminTask.