Configuração de Certificado em Cadeia Padrão em SSL

Quando um processo do WebSphere Application Server é iniciado pela primeira vez, o tempo de execução do Secure Sockets Layer (SSL) inicializa os keystores e os armazenamentos confiáveis padrão que são especificados na configuração SSL.

Por padrão, os certificados encadeados criados durante a criação do perfil possuem um tempo de vida de 1 ano. O certificado raiz padrão usado como assinante para o certificado encadeado padrão possui um tempo de vida de 15 anos. O tempo de vida dos certificados padrão e raiz pode ser customizado durante a criação do perfil. Uma das vantagens desse tipo de certificado encadeado é que apenas o assinante do certificado raiz é necessário para estabelecer a confiança. Quando o certificado encadeado é gerado novamente com o mesmo certificado raiz, os clientes que usam esse certificado de assinante raiz para confiança não perdem a confiança.

Propriedades Padrão de Armazenamento de Chaves e de Armazenamento Confiável
O WebSphere Application Server cria o arquivo keystore padrão key.p12e o arquivo de armazenamento confiável trust.p12 padrão durante a criação do perfil. Um certificado padrão, em cadeias também é criado no arquivo key.p12. O signatário raiz, ou a chave pública, do certificado encadeado é extraído do arquivo key.p12 e incluído no arquivo trust.p12. Se os arquivos não existirem durante a inicialização do processo, eles serão recriados durante a inicialização.

É possível identificar padrões de keystore e truststore devido a seus sufixos: DefaultKeyStore e DefaultTrustStore. Além disso, na configuração do SSL, é necessário configurar o atributo fileBased como true para que o ambiente de tempo de execução utilize apenas os keystores e os armazenamentos confiáveis padrão.

Em um servidor de aplicativos de base, os armazenamentos de chaves e confiáveis padrão são armazenados no diretório do nó do repositório de configuração. Por exemplo, os armazenamentos padrão key.p12 e trust.p12 são criados com o nome de perfil [z/OS]padrão [IBM i][AIX Solaris HP-UX Linux Windows]AppSrv01, o nome myhostNode01Cell e o nome do nó myhostNode01. O keystore e o truststore estão localizados nos seguintes diretórios:
  • [AIX Solaris HP-UX Linux Windows][IBM i]C:\WebSphere\AppServer\profiles\AppSrv01\config\cells\myhostNode01Cell \nodes\myhostNode01\key.p12
  • [AIX Solaris HP-UX Linux Windows][IBM i]C:\WebSphere\AppServer\profiles\AppSrv01\config\cells\myhostNode01Cell \nodes\myhostNode01\trust.p12
  • [z/OS]${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell/nodes/myhostNode01/key.p12
  • [z/OS]${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell/nodes/myhostNode01/trust.p12

A senha padrão é WebAS para todos os keystores padrão gerados pelo WebSphere Application Server. Altere a senha padrão após a configuração inicial para ter um ambiente mais seguro.

Certificado encadeado padrão
O certificado encadeado padrão do servidor juntamente com um certificado autoassinado raiz, usado para assinar o certificado encadeado padrão e criado durante a criação do perfil.
Propriedades do certificado raiz:
Informações Valor
da mensagem auto-assinado
Tamanho 2048
algoritmo de assinatura SHA256withRSA
SubjectDN cn=${hostname},ou=Root Certificate, ou=<node name>, ou= <cell name>,o=IBM,c=US
tempo de vida 15 anos
Propriedades certificados padrão:
Informações Valor
da mensagem em cadeia (assinado pelo certificado raiz)
Tamanho 2048
algoritmo de assinatura SHA256withRSA
SubjectDN cn=${hostname},ou=<node name>,ou=<cell name>,o=IBM,c=US
tempo de vida 1 ano

É possível recriar os certificados com informações diferentes; para isto basta excluir os arquivos *.p12 em /config e /etc. Mude as quatro propriedades no próximo exemplo de código para os valores que deseja que os certificados contenham e reinicie os processos. Isso faz com que o certificado do servidor em /config e o certificado do cliente em /etc sejam diferentes.

As propriedades do certificado no próximo exemplo de código existem no arquivo ssl.client.props, mas não existem na configuração do servidor. No entanto, é possível utilizar esses valores na configuração do servidor incluindo-os como propriedades de segurança customizadas no console administrativo. Clique em Segurança > Segurança Globaly > Propriedades customizadas para alterar as seguintes propriedades:
com.ibm.ssl.defaultCertReqAlias=default_alias
com.ibm.ssl.defaultCertReqSubjectDN=cn=${hostname},ou=myhostNode01,ou=myhostNode01Cell,o=IBM,c=US
com.ibm.ssl.defaultCertReqDays=365
com.ibm.ssl.defaultCertReqKeySize=1024
com.ibm.ssl.rootCertSubjectDN=cn=${hostname},ou=Root Certificate, ou=myhostNode01,
ou=myhostNode01Cell,o=IBM,c=US
com.ibm.ssl.rootCertValidDays=7300
com.ibm.ssl.rootCertAlias=root
com.ibm.ssl.rootCertKeySize=1024
Depois de alterar as propriedades, conclua as seguintes ações:
  1. Exclua os arquivos keystore key.p12 e truststore trust.p12 padrão para o gerenciador de implementação, que contêm o certificado em cadeias padrão. Se o arquivo de keystore e truststore não existe, o WebSphere Application Server gera-os automaticamente e cria novos certificados padrão utilizando os valores de propriedade relacionados anteriormente
  2. Exclua o keystore raiz, que é o arquivo root-key.p12, para gerar novamente o certificado raiz com as propriedades listadas anteriormente.
  3. Reinicie o gerenciador de implementação, seu nó e todos os servidores.
  4. Assine cada nó usando o certificado raiz.
    • Se os nós não forem federados, federe cada nó no gerenciador de implementação usando o comando addNode. O certificado padrão para o nó é gerado novamente usando o certificado raiz para a célula.
    • Se os nós são federados, renove o certificado para cada nó utilizando o certificado raiz para a célula. O certificado pode ser renovado usando o console administrativo ou o comando renewCertificate. Para obter informações adicionais, consulte a documentação sobre como renovar um certificado e sobre o comando renewCertificate.

Se o valor default_alias já existir, o tempo de execução anexará _#, em que o sinal de número (#) é um número que aumenta até que fique exclusivo no keystore. ${hostname} é uma variável resolvida como o nome do host no qual ela foi originalmente criada. A data de expiração padrão dos certificados encadeados é um ano a partir de sua data de criação.

O tempo de execução monitora as datas de expiração dos certificados em cadeia utilizando o monitor de expiração de certificado. Esses certificados encadeados são substituídos automaticamente por qualquer certificado signatário quando estão dentro do limite de expiração, que normalmente é 30 dias após a expiração. É possível aumentar o tamanho da chave padrão acima de 1024 bits somente quando os arquivos de política de ambiente de tempo de execução Java™ são irrestritos (ou seja, não exportados). Para obter mais informações, consulte Certificate expiration monitoring in SSL.

Configurações Padrão de Armazenamento de Chaves e de Armazenamento Confiável para Novos Processos de Base do Servidor de Aplicativos
O código de amostra a seguir mostra a configuração de SSL padrão para um servidor de aplicativos de base. As referências a arquivos de armazenamentos de chaves e armazenamentos confiáveis padrão são realçadas.
<repertoire xmi:id="SSLConfig_1" alias="NodeDefaultSSLSettings" 
managementScope="ManagementScope_1">
<setting xmi:id="SecureSocketLayer_1" clientAuthentication="false" 
securityLevel="HIGH" enabledCiphers="" jsseProvider="IBMJSSE2" sslProtocol="SSL_TLS" 
keyStore="KeyStore_1" trustStore="KeyStore_2" trustManager="TrustManager_1" 
keyManager="KeyManager_1"/>
</repertoire>
Armazenamento de chaves padrão
No código de amostra a seguir, o objeto de armazenamento de chaves que representa o armazenamento de chaves padrão é semelhante ao objeto XML.
<keyStores xmi:id="KeyStore_1" name="NodeDefaultKeyStore"
password="{xor}349dkckdd=" provider="IBMJCE" location="${WAS_INSTALL_ROOT}/config
/cells/myhostNode01Cell/nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true" 
hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/>
O armazenamento de chaves NodeDefaultKeyStore contém o certificado pessoal que representa a identidade do terminal seguro. Qualquer referência a keystore pode utilizar a variável ${WAS_INSTALL_ROOT}, que é expandida pelo tempo de execução. O tipo de armazenamento de chaves padrão PKCS12 está no formato mais interoperável, o que significa que pode ser importado na maioria dos navegadores. A senha myhostNode01Cell é codificada. O escopo de gerenciamento determina qual tempo de execução do servidor carrega a configuração de keystore na memória, conforme exibido na amostra de código a seguir:
<managementScopes xmi:id="ManagementScope_1" scopeName="
(cell):myhostNode01Cell:(node):myhostNode01" scopeType="node"/>

Todos os objetos de configuração armazenados no arquivo security.xml cujos escopos de gerenciamento estiverem fora do escopo do processo atual não serão carregados no processo atual. Em vez disso, o escopo de gerenciamento é carregado pelos servidores que estão contidos no nó myhostNode01. Todo servidor de aplicativos que estiver no nó específico poderá visualizar a configuração do armazenamento de chaves.

Ao listar o conteúdo do arquivo key.p12 para mostrar o certificado encadeado, observe que o nome comum (CN) do nome distinto (DN) é o nome do host da máquina residente. Esta lista permite verificar o nome do host por suas conexões de URL. Além disso, é possível verificar o nome do host em um gerenciador de confiança customizado. Para obter mais informações, consulte Trust manager control of X.509 certificate trust decisions.

Conteúdo do armazenamento de chaves padrão
O código de amostra a seguir exibe o conteúdo do arquivo key.p12 padrão em uma lista de ferramentas de chave: [AIX Solaris HP-UX Linux Windows][IBM i]
keytool -list -v -keystore c:\WebSphere\AppServer\profile\AppSrv01\profiles\config
\cells\myhostNode01Cell\nodes\myhostNode01\key.p12 -storetype PKCS12 -storepass *****
[z/OS]
${profile_root}\config\cells\${cellname}\nodes\${nodename}>  keytool -list
-v -keystore ${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell
/nodes/myhostNode01/key.p12 -storetype PKCS12 -storepass *****
Tipo de armazenamento de chaves: PKCS12
Provedor do armazenamento de chaves: IBMJCE

Seu armazenamento de chaves contém 1 entrada

Nome do alias: default
Data de criação: 31 dez, 1969
Tipo de entrada: keyEntry
Comprimento da cadeia de certificados: 2
Certificate[1]:
Proprietário: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emissor: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Número de série: 4e48f29aafea6
Válido de: 2/7/08 1:03 PM até: 2/6/09 1:03 PM
Impressões digitais do certificado:
  MD5:  DB:FE:65:DB:40:13:F4:48:A4:CE:2F:4F:60:A5:FF:2C
  SHA1: A1:D4:DD:4B:DE:7B:45:F7:4D:AA:6A:FC:92:38:78:53:7A:99:F1:DC
Certificate[2]:
Proprietário: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emissor: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Número de série: 4e48e5fd4eae3
Válido de: 2/7/08 1:03 PM até: 2/2/28 1:03 PM
Impressões digitais do certificado:
  MD5:  A5:9B:05:78:CF:AB:89:94:C9:2E:F1:87:34:B3:FC:75
  SHA1: 43:74:B6:C7:FA:C1:0F:19:F2:51:2B:17:60:0D:34:93:55:BF:D5:D2

*******************************************
*******************************************

O nome do alias padrão e o tipo de entrada keyEntry indicam que a chave privada é armazenada com a chave pública, que representa um certificado pessoal completo. O certificado pertence a CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US e é emitido pelo certificado raiz padrão, que pertence a CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Por padrão, o certificado é válido por um ano a partir da data de criação.

Além disso, em algumas situações de troca de signatário, a impressão digital do certificado assegura que o certificado enviado não tenha sido modificado. A impressão digital, que é uma saída de algoritmo hash do certificado, é exibida pelo tempo de execução WebSphere Application Server durante uma troca de assinante automatizada no lado do cliente. A impressão digital do cliente deve corresponder à impressão digital exibida no servidor. O tempo de execução utiliza, normalmente, o algoritmo hash SHA1 para gerar impressões digitais de certificados.

Armazenamento confiável padrão
No código de amostra a seguir, o objeto de armazenamento de chaves representa o armazenamento confiável trust.p12 padrão. O armazenamento confiável contém certificados signatários que são necessários para tomar decisões de confiança:
<keyStores xmi:id="KeyStore_2" name="NodeDefaultTrustStore" 
password="{xor}349dkckdd=" provider="IBMJCE" location="${WAS_INSTALL_ROOT}
/config/cells/myhostNode01Cell/nodes/myhostNode01/trust.p12" type="PKCS12" 
fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/>
Conteúdo do armazenamento confiável padrão
O código de amostra a seguir exibe o conteúdo do armazenamento confiável trust.p12 padrão em uma lista de ferramentas de chave. Por padrão, para o certificado encadeado de amostra, o signatário do certificado raiz é incluído no armazenamento confiável. O nome de alias do signatário raiz e o tipo de entrada trustedCertEntry indicam que o certificado é a chave pública. A chave privada não é armazenada nesse armazenamento confiável. Além disso, todos os truststores contêm o certificado do DataPower padrão.[AIX Solaris HP-UX Linux Windows][IBM i]
keytool -list -v -keystore c:\WebSphere\AppServer\profile\AppSrv01\profiles\config\cells\myhostNode01Cell
\nodes\myhostNode01\trust.p12 -storetype PKCS12 -storepass *****
[z/OS]
${profile_root}\config\cells\${cellname}\nodes\${nodename}>  keytool -list
-v -keystore ${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell
/nodes/myhostNode01/trust.p12 -storetype PKCS12 -storepass ***** 
Tipo de armazenamento de chaves: PKCS12
Provedor do armazenamento de chaves: IBMJCE

Seu armazenamento de chaves contém 2 entradas

Nome do alias: root
Data de criação: 31 dez, 1969
Tipo de entrada: trustedCertEntry

Proprietário: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emissor: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Número de série: 4e48e5fd4eae3
Válido de: 2/7/08 1:03 PM até: 2/2/28 1:03 PM
Impressões digitais do certificado:
   MD5:  A5:9B:05:78:CF:AB:89:94:C9:2E:F1:87:34:B3:FC:75
   SHA1: 43:74:B6:C7:FA:C1:0F:19:F2:51:2B:17:60:0D:34:93:55:BF:D5:D2

*******************************************
*******************************************

Nome do alias: datapower
Data de criação: 31 dez, 1969
Tipo de entrada: trustedCertEntry

Proprietário: OU=Root CA, O="DataPower Technology, Inc.", C=US
Emissor: OU=Root CA, O="DataPower Technology, Inc.", C=US
Número de sério: 0
Válido de: 11/6/03 1:23 PM até: 6/6/23 1:23 PM
Impressões digitais do certificado:
   MD5:  18:AC:86:D1:9A:90:A2:AE:8B:28:F9:A8:75:C8:A9:DB
   SHA1: A9:BA:A4:B5:BC:26:2F:5D:2A:80:93:CA:BA:F4:31:05:F2:54:14:17

Í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_7ssldefault_chainedcert_config
Nome do arquivo: csec_7ssldefault_chainedcert_config.html