Entender sobre certificado digital é tão importante quanto desenvolver bem, pois, tanto sendo servidor quanto cliente, o mínimo de segurança sempre devemos colocar em pauta. Bom, desenvolvi um web service com o framework Apache CXF que se comunicava com um outro WS a partir de um endereço HTTPS, mas sempre retornava o famigerado erro:
Para solucionar, foi necessário importar a Root CA desse web service ao qual a minha aplicação era cliente na truststore de execução do Java, permitindo que o web container aceitasse o certificado fornecido. Porém, o Glassfish, diferente do Apache Tomcat que utiliza a truststore cacerts do JRE localizado no endereço abaixo:
O próximo passo é clicar no cadeado na barra de endereço e depois em certificate information. Ao abrir o diálogo Certificate, ir para a guia Certification Path e clicar no certificado no topo da tree view (no caso é a root CA que gerou o certificado para o OpenScape Deployment Service V3) e depois em View Certificate. Na guia Details, clicar no botão Copy to File e exportar no formato DER encoded binary x.509.
Feito isso, o restante é simples. Precisamos acessar a pasta config do domínio alvo e executar um comando para incluir a root CA exportada, mas antes disso, vamos salvar um arquivo de texto informando os certificados já presentes na truststore:
Para excluir um certificado que já foi inserido, podemos realizá-lo pelo comando abaixo:
Aqlbras! Ao som de Sabes Mentir, Djavan.
“unable to find valid certification path to requested target”
Para solucionar, foi necessário importar a Root CA desse web service ao qual a minha aplicação era cliente na truststore de execução do Java, permitindo que o web container aceitasse o certificado fornecido. Porém, o Glassfish, diferente do Apache Tomcat que utiliza a truststore cacerts do JRE localizado no endereço abaixo:
- C:\Program Files\Java\jre7\lib\security\cacerts
\glassfish\domains\domain1\config\cacerts.jks
O próximo passo é clicar no cadeado na barra de endereço e depois em certificate information. Ao abrir o diálogo Certificate, ir para a guia Certification Path e clicar no certificado no topo da tree view (no caso é a root CA que gerou o certificado para o OpenScape Deployment Service V3) e depois em View Certificate. Na guia Details, clicar no botão Copy to File e exportar no formato DER encoded binary x.509.
Feito isso, o restante é simples. Precisamos acessar a pasta config do domínio alvo e executar um comando para incluir a root CA exportada, mas antes disso, vamos salvar um arquivo de texto informando os certificados já presentes na truststore:
- keytool -list -v -keystore cacerts.jks > cacerts_antes.txt
- keytool -import -alias dlsrootca -keystore cacerts.jks -file dlsRootCA.cer
- A senha padrão é changeit
Para excluir um certificado que já foi inserido, podemos realizá-lo pelo comando abaixo:
- keytool -delete -alias dlsrootca -keystore cacerts.jks
Aqlbras! Ao som de Sabes Mentir, Djavan.
Comentários
Postar um comentário