Una exepcion común en java sobre todo cuando se implementa codigo que realiza peticiones GET, POST, etc.. a un servidor es la siguiente:
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
Comunmente esta excepcion se logea cuando la JVM no tiene registrado el certificado en su "cacert", para palear esta exception seguir los siguientes pasos:
1)En el navegador pegar la url a la que se intenta acceder o alguna parecida, lo importante es el host del server por ejemplo https://www.dominio1.com/opcion1/opcion2
2)El navegador es posible que muestre algunas notificaciones diciendo si se quiere confiar en dicho host y que se agrega un certificado, aceptamos todo.
3)Importar el certificado desde el navegador a un fichero.
En firefox escribimos lo siguiente en la barra de navegacion "about:preferences#privacy"
Buscamos la seccion "Certificados" y presionamos en "Ver certificados". Buscamos el certificado referente al dominio "dominio1" y lo exportamos como fichero .crt a una ruta conocida.
4)Desde linea de comandos ejecutamos keytool, keytool es un comando que esta en la ruta de la JVM
"{JVMPath}/bin/" si teneis dado de alta java en el PATH del sistema os deberia de pillar sin problema, si no ir directamente a la ruta donde teneis instalado java a la carpeta bin.
4.1) se ejecuta "keytool -alias unAliasDominio1 -import -keystore {JVMPath}/lib/security/cacerts -file C:\ruta1\ruta2\certificados\dominio1Certificado.crt"
4.2)Os pedira el password del keystore "Enter keystore password:" por defecto es "changeit" sin las comillas (si lo habeis cambiado mal asunto).
"Introduzca la contraseña del almacén de claves:"
{JVMPath} Es la ruta donde tenies instalado java por ejemplo "C:\java\jdk-11.0.2"
4.3) Confirmar la confianza en este certificado
"¿Confiar en este certificado? [no]: si"
No hay comentarios:
Publicar un comentario