terça-feira, 21 de junho de 2016

Glassfish - Importar um certificado válido e existente




Quando você precisar migrar um ambiente ou uma aplicação para o Glassfish, você encontrará algumas adversidades. São elas:

  1. Migrar os certificados de um Oracle Wallet(p12) para um Java Keystore/Truststore; (imaginando que o ambiente legado é um OHS (Oracle HTTP Server));
  2. Importar certificado de outro ApplicationServer com o keystore já configurado.

Não incluo aqui a criação de um novo certificado SSL, certificado auto assinado, ou renovações, pois a “privatekey” pode ser recriada sem problemas. Já a publicação se aplica quando a chave privada não pode ser recriada por alguma razão, seja pelo uso de um outro sistema ou impacto de negócio.    

Privatekey: Chave privada usada no sistema de criptografia baseado em chaves.  

Mas qual o grande problema? Bem, o Glassfish suporta apenas um keystore e um truststore que vem previamente setado para uso do alias ‘s1as’. Quando configurado o ‘http-listener-2’, atendendo a porta 28181, este certificado não é reconhecido como válido, pois é para fins administrativos. Portanto, é necessário substituí-lo, o que é mais comum, ou incluir um novo alias no keystore localizado no diretório ‘config’ do domain.


IMPORTANTE: Sete a variável $JAVA_HOME para o mesmo JDK do oracle_commons dentro do $MIDDLEWARE_HOME. Os comandos abaixo incluem o JDK/bin no PATH, então não precisei passar o PATH completo do orakpi e keytool.



  1. Migrar os certificados de um Oracle Wallet(p12) para um Java Keystore:


orapki wallet pkcs12_to_jks -wallet ewallet.p12 -pwd coloque_a_senha_do_wallet_aqui -jksKeyStoreLoc keystore.jks-conv -jksKeyStorepwd changeit -jksTrustStoreLoc cacerts.jks-conv -jksTrustStorepwd changeit

  1. Importar certificado de outro ApplicationServer com o keystore já configurado;

Como mencionado, o Glassfish suporta apenas um keystore. Logo precisará fazer o merge do keystore e do truststore:

keytool -v -importkeystore -srckeystore cacerts.jks-conv -srcstoretype JKS -destkeystore cacerts.jks -deststoretype JKS
keytool -v -importkeystore -srckeystore keystore.jks-conv -srcstoretype JKS -destkeystore keystore.jks -deststoretype JKS

Neste ponto precisará saber as senhas de todos os JKSs, pois serão solicitadas as senhas dos keystores de origem e destino. Caso as mesmas não estejam, utilize o comando abaixo para ajustá-las:

keytool -keypasswd -new changeit -keystore keystore.jks -storepass "senha do keystore" -alias orakey1 -keypass "senha antiga"





Possíveis problemas durante o processo serão relacionados ao keystore de origem ser 32 bits e o de destino 64 bits.Então sugiro manter como o de destino o que atenda o hardware de seu ambiente de Glassfish, assim como a senha do certificado alias que deseja utilizar tem que ser igual. Logo, utilize todas as senhas iguais a senha do master-password do Glassfish.

Não esqueça de após o merge dos keystore alterar o alias do certificado SSL do ‘http-listener-2’ para o alias desejado. Para visualizar o alias utilize o comando abaixo:  
keytool -list -v -keystore keystore.jks


Referências:



Publicação também disponível em: http://ilegra.com/beyonddata/

Um comentário:

  1. NJ Sports Betting - JT Hub
    Get 경주 출장안마 all the latest news, odds, and information for 부천 출장안마 the 2021-22 NBA season 진주 출장마사지 in one place, 전라북도 출장샵 right here at JTG Hub! Bet on the NBA, NBA, NCAAB, EuroLeague, 구미 출장마사지

    ResponderExcluir