Instalação segura para recuperação de assinante do cliente em SSL

Cada perfil no ambiente do WebSphere Application Server contém um certificado em cadeias exclusivo assinado por um certificado raiz exclusivo existente com tempo de vida longo que foi criado quando o perfil foi criado. Esse certificado substitui o certificado autoassinado que é enviado com o WebSphere Application Server Versão 6.1 assim como o certificado simulado padrão que é enviado em liberações anteriores à Versão 6.1. Quando um perfil é associado a um gerenciador de implementação, o signatário para o certificado de assinatura raiz é incluído no armazenamento confiável comum para a célula, estabelecendo a confiança para todos os certificados assinados por esse certificado raiz.

Boas Práticas Boas Práticas: Não use os arquivos de keystore e de armazenamento confiável simulados, referenciados neste tópico, em um ambiente de produção. Esses arquivos contêm os mesmos certificados e são usados em todos os lugares, o que não é seguro. Além disso, altere as senhas do keystore e do armazenamento confiável para que não usem a senha padrão WebAS.bprac

Pelo padrão, os cliente não confiam em servidores de perfis diferentes no ambiente do WebSphere Application Server. Isto é, eles não contêm o signatário raiz para esses servidores. É possível executar algumas ações para ajudar a estabelecer essa confiança:

  1. Ative o prompt de troca de assinante para aceitar o assinate durante a tentativa de conexão.
  2. Execute o utilitário retrieveSigners para fazer download dos signatários desse sistema antes de fazer a conexão.
  3. Copie o arquivo trust.p12 do diretório /config/cells/<cell_name>/nodes/<node_name> do perfil do servidor para o diretório /etc do cliente. Atualize a configuração de SSL para refletir o novo nome do arquivo e a senha, se forem diferentes. Copiar o arquivo fornece ao cliente um trust.p12 que contém todos os signatários de servidores nessa célula. Além disso, pode ser necessário desempenhar essa etapa para clientes de nível anterior que ainda estejam utilizando o arquivo DummyClientTrustFile.jks. Neste caso, talvez sena necessário alterar o arquivo sas.client.props ou soap.client.props para refletir o novo armazenamento de confiança, a senha do armazenamento de confiança e o tipo de armazenamento de confiança (PKCS12).
Para que os clientes desempenhem uma troca de signatário dentro da banda, você deve especificar o arquivo ssl.client.props como uma propriedade com.ibm.SSL.ConfigURL na configuração de SSL. Para clientes gerenciados, isso é feito automaticamente. Os signatários são designados como dentro da banda durante a conexão ou fora da banda durante o tempo de execução. Também é necessário configurar o atributo com.ibm.ssl.enableSignerExchangePrompt como true.
Dica: É possível configurar um monitor de expiração de certificado para substituir certificados do servidor prestes a expirar. Para obter informações adicionais sobre como os clientes podem recuperar o novo signatário da configuração, consulte Certificate expiration monitoring in SSL.

Utilizando o Prompt de Troca de Signatário para Recuperar Signatários de um Cliente

Quando o cliente ainda não tem um signatário para se conectar a um processo, é possível ativar o prompt de troca de signatário. O prompt de troca de signatário é exibido apenas uma vez para cada certificado exclusivo e para cada nó. Depois que o signatário do nó é incluído, ele permanece no truststore do cliente. O código de amostra a seguir mostra o prompt de troca de signatário recuperando um signatário de um cliente:[AIX Solaris HP-UX Linux Windows][z/OS]
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\serverStatus -all ADMU0116I: As informações de ferramenta estão sendo registradas no arquivo
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\logs\serverStatus.log ADMU0128I: Iniciando a ferramenta com o 
perfil AppSrv01 ADMU0503I:
Recuperando o status do servidor para todos os servidores ADMU0505I: Servidores localizados na configuração: 
ADMU0506I: Nome do Servidor: dmgr
*** SSL SIGNER EXCHANGE PROMPT *** Signatário SSL do host de destino 192.168.1.5 não encontrado no armazenamento confiável
C:\WebSphere\AppServer\profiles\AppSrv01\etc\trust.p12.

Estas são as informações do signatário (verifique se o valor de compilação corresponde ao exibido no servidor):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN:     CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Incluir signatário no armazenamento de confiança agora? (s/n) s Uma nova tentativa da solicitação pode precisar ocorrer. ADMU0508I: O Gerenciador de Implementação "dmgr" foi INICIADO
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin/serverStatus -all ADMU0116I:
As informações da ferramenta estão sendo registradas no arquivo
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/logs/serverStatus.log ADMU0128I:
Iniciando ferramenta com o perfil dmgr ADMU0503I:
Recuperando o status do servidor para todos os servidores ADMU0505I: Servidores localizados na configuração: 
ADMU0506I: Nome do servidor:
dmgr  *** SSL SIGNER EXCHANGE PROMPT *** O assinante do SSL a partir do host de destino 192.168.1.5 não 
estão localizado no armazenamento confiável
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12.
Estas são as informações do signatário (verifique se o valor de compilação corresponde ao exibido no servidor):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN:     CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest:    04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D 

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3

MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Incluir signatário no armazenamento de confiança agora? (s/n) s Uma nova tentativa da solicitação pode precisar ocorrer. ADMU0508I: O Gerenciador de Implementação "dmgr" foi INICIADO
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/bin/serverStatus -all ADMU0116I:
As informações da ferramenta estão sendo registradas no arquivo 
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/logs/serverStatus.log ADMU0128I:
Iniciando a ferramenta com o perfil padrão ADMU0503I: Recuperando status do servidor para todos os servidores 
ADMU0505I: Servidores localizados na
configuração: ADMU0506I: Nome do servidor: server1
*** SSL SIGNER EXCHANGE PROMPT *** Signatário SSL do host de destino 192.168.1.5 
não foi localizado no armazenamento confiável
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/etc/trust.p12.  
Aqui estão as informações do signatário
(verifique se o valor de compilação corresponde ao que é exibido no servidor):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US Issuer DN:
CN=myhost.austin.ibm.com, O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest:    04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Incluir signatário no armazenamento de confiança agora? (s/n) s Uma nova tentativa da solicitação pode precisar ocorrer.
ADMU0508I: O Gerenciador de Aplicativos "server1" foi INICIADO
Para automatizar este processo, consulte comando retrieveSigners.

Quando um prompt aceita o signatário, o tempo limite de um soquete pode ocorrer e a conexão pode ser interrompida. Por esta razão, a mensagem Uma nova tentativa da solicitação pode precisar ocorrer. é exibida após a resposta ao prompt. A mensagem informa ao usuário submeter novamente o pedido. Esse problema não deve ocorrer com freqüência e pode ser mais prevalecente em alguns protocolos do que em outros.

Pode ser necessária uma nova tentativa do pedido se o soquete esgotar o tempo enquanto espera uma resposta do prompt. Se a nova tentativa for necessária, observe que o prompt não será exibido novamente se (y) for digitado, o que indica que o signatário já foi incluído no armazenamento confiável.

Verifique a compilação SHA-1 exibida, que é a assinatura do certificado enviado pelo servidor. Se você consultar o certificado no servidor, verifique se a mesma compilação SHA-1 é exibida.

Você poderá desativar o prompt quando não desejar que ele seja exibido, executando o utilitário retrieveSigners para recuperar todos os assinantes de uma célula específica. É possível fazer download ou upload dos signatários de qualquer armazenamento de chaves remoto para qualquer outro que seja local, fazendo referência a um truststore comum com esse script do cliente. Para obter informações adicionais, consulte Configuração do Certificado Encadeado Padrão em SSL.

Usando o Utilitário retrieveSigners para Fazer Download de Signatários para um Cliente

É possível executar o utilitário retrieveSigners para recuperar todos os signatários do armazenamento de chaves remoto para um armazenamento de chaves do cliente especificado.

O armazenamento de chaves remoto comum para referência é o CellDefaultTrustStore.

O truststore contém os signatários que permitem que o cliente se conecte a seus processos. O utilitário retrieveSigners pode apontar para qualquer armazenamento de chaves na configuração de destino, dentro do escopo do processo de destino, e pode fazer download dos signatários (apenas entradas de certificado) em qualquer armazenamento de chaves do cliente no arquivo ssl.client.props.
O código de amostra a seguir mostra o utilitário retrieveSigners em um ambiente do gerenciador de implementação. [AIX Solaris HP-UX Linux Windows][z/OS]
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\retrieveSigners.bat CellDefaultTrustStore 
ClientDefaultTrustStore -autoAcceptBootstrapSigner  CWPKI0308I: Incluindo alias do assinante 
"CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following SHA
digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA  CWPKI0308I: 
Adding signer alias "default" to
local keystore "ClientDefaultTrustStore" with the following SHA digest:
40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:92:9E:37:8D:51:A5:47
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin retrieveSigners CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner  CWPKI0308I: Incluindo alias do assinante "CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following
SHA digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA  CWPKI0308I: Adding signer alias 
"default" to local keystore
"ClientDefaultTrustStore" with the following SHA digest: 40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:
92:9E:37:8D:51:A5:47
Utilize a opção –autoAcceptBootstrapSigner para ativar automaticamente o WebSphere Application Server para recuperar e aceite o assinante para conexões administrativas. A compilação SHA-1 é impressa enquanto o signatário é incluído, portanto você pode verificar a compilação após a conclusão da operação.

Obtendo Signatários para Clientes e Servidores de um Release Anterior

Nota: Quando um cliente de um release anterior à versão 7.0 se conecta ao release atual, o cliente deve obter signatários para estabelecer comunicação com êxito. Os clientes utilizando os releases anteriores do WebSphere Application Server não podem obter assinantes tão facilmente quanto na liberação atual. É possível copiar o armazenamento confiável comum do gerenciador de implementação para seu cliente ou servidor de nível anterior, e então reconfigure a configuração SSL para referenciar diretamente este armazenamento confiável. Esse armazenamento de confiança comum do tipo PKCS12 está localizado no diretório /config/cells/<cell_name>/nodes/<node_name> no repositório de configuração e possui uma senha padrão de WebAS.

Para coletar todos os signatários para a célula em um único arquivo de armazenamento de chaves trust.p12, conclua as seguintes etapas:

  1. Copie o arquivo de armazenamento de chaves trust.p12 no servidor e replique-o no cliente. O cliente faz referência direta ao arquivo a partir dos arquivos sas.client.props e soap.client.props que especificam as propriedades SSL para releases anteriores.
  2. Altere a senha do armazenamento de chaves do lado do cliente de modo que corresponda ao nome da célula padrão associado ao armazenamento de chaves copiado.
  3. Altere o tipo de armazenamento de chaves padrão do arquivo trust.p12 para PKCS12 na configuração do cliente.

As duas amostras de código a seguir mostram uma visualização anterior e uma posterior das alterações a serem feitas.

Configuração SSL padrão de sas.client.props para uma liberação anterior[AIX Solaris HP-UX Linux Windows][z/OS]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:///  C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=
file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks
com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/
dmgr/etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/
AppServer/V85/ND/profiles/dmgr/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\
= com.ibm.ssl.trustStoreType=JKS
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/
etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/AppServer/
V85/Base/profiles/default/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
Mudanças na configuração SSL que são necessárias para um arquivo de armazenamento confiável comum no diretório /etc do cliente[AIX Solaris HP-UX Linux Windows][z/OS]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/profiles/default/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
Dica: É possível executar o script PropsFilePasswordEncoder, localizado no diretório /bin para codificar a senha.

Também é possível fazer essas alterações no arquivo soap.client.props e especificar o arquivo key.p12 no lugar do arquivo DummyClientKeyFile.jks. Entretanto, você também deve alterar os valores keyStorePassword e keyStoreType para que correspondam àquelas no arquivo key.p12 padrão.

Em liberações do WebSphere Application Server anteriores à Versão 7.0, você deve editar a configuração SSL no servidor para substituir o armazenamento confiável comum. O arquivo trust.p12, utilizado pelo servidor, também deve conter o signatário do certificado fictício padrão para conexões entre servidores em níveis de release anteriores. Talvez seja necessário extrair manualmente o certificado padrão do arquivo DummyServerKeyFile.jks e, em seguida, importar o certificado para o arquivo trust.p12 incluído na configuração.


Ícone que indica o tipo de tópico Tópico de Conceito



Í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=csec_sslsecinstallclientsignret
Nome do arquivo: csec_sslsecinstallclientsignret.html