SunCertPathBuilderException: no se puede encontrar la ruta de certificación válida para el error de destino solicitado en Java
-
¿Qué es la excepción
sun.security.provider.certpath.SunCertPathBuilderException
en Java? -
Causas de
sun.security.provider.certpath.SunCertPathBuilderException: no se pudo encontrar una ruta de certificación válida para el destino solicitado
-
Solución de
sun.security.provider.certpath.SunCertPathBuilderException: no se pudo encontrar una ruta de certificación válida para el destino solicitado
La publicación de hoy discutirá las posibles razones de “no se puede encontrar una ruta de certificación válida para el objetivo solicitado” y su solución en Java.
Pero, antes de continuar, debe comprender claramente el cifrado SSL y los certificados, ya que se requiere una comprensión clara de los certificados SSL.
Cifrado SSL y Certificados: una conexión HTTPS no puede funcionar correctamente sin un certificado SSL. Mediante el uso de un conjunto de claves públicas y privadas, corrobora la identidad reclamada del servicio o sitio web.
La clave privada encripta o firma todo lo que entrega el dominio, y las aplicaciones cliente validan la identificación utilizando las claves públicas.
¿Qué es la excepción sun.security.provider.certpath.SunCertPathBuilderException
en Java?
La sun.security.provider.certpath.SunCertPathBuilderException
es una clase para manejar excepciones en Java que verifica los certificados SSL del servidor al que el programa Java está intentando conectarse. Esta clase recibió el nombre del proveedor que creó los certificados.
El siguiente es el mensaje de error que se muestra al desarrollador cuando se encuentra con este problema.
Caused by : sun.security.provider.certpath.SunCertPathBuilderException
: unable to find valid certification path to requested target
Se puede lanzar durante cualquier acción que involucre visitar un servicio encriptado usando SSL.
El marco de trabajo de Java verifica la confiabilidad de las API y los sitios web protegidos con SSL antes de que se pueda acceder a ellos. Esto se logra examinando su lista interna de confianza para ver si la autoridad de certificación raíz firmada está allí.
Java arroja este error si no puede descubrir ninguna referencia al servicio. Usar un certificado autofirmado para acceder a un servicio firmado por la firma digital de otra persona siempre fallará.
Causas de sun.security.provider.certpath.SunCertPathBuilderException: no se pudo encontrar una ruta de certificación válida para el destino solicitado
La única forma en que Java podrá conectarse a otro programa a través de SSL es si puede confiar en HTTPS, etc. Hay un almacén de confianza generalmente $JAVA HOME/lib/security/cacerts
en el mundo de Java donde almacena sus certificados de confianza.
Esta excepción la desencadena un certificado autofirmado o una cadena de certificados que no existe en el almacén de confianza de Java. Java se niega a conectarse a la aplicación porque no confía en el certificado.
Solución de sun.security.provider.certpath.SunCertPathBuilderException: no se pudo encontrar una ruta de certificación válida para el destino solicitado
-
Para comenzar, determine si el problema proviene del certificado o de la red. Para verificar esto, abra la URL en Google Chrome o en su navegador preferido y vea si funciona.
En este caso, una configuración de certificado no válida en el cliente de la aplicación debe ser el origen de la excepción. Puede haber un problema de configuración de red o firewall si el navegador no puede acceder a él.
-
Obtenga el certificado SSL del servidor después de determinar si hay algún problema con la configuración del certificado. Este podría ser el certificado raíz en las circunstancias más simples, pero en la mayoría de los casos, se requiere una cadena de certificados y una autoridad de certificación intermedia.
Puede verificar la validez del certificado SSL siguiendo los pasos a continuación.
-
Abra su navegador y haga clic en el candado en la esquina superior izquierda.
-
Luego haga clic en
La conexión es segura
. -
Por último, obtendrá el estado del sitio si es válido.
- Si desea exportar los detalles del certificado, siga los pasos a continuación.
-
Seleccione el símbolo de candado junto a la barra de direcciones URL, luego haga clic en
La conexión es segura
>El certificado es válido
. -
Haga clic en la sección
Detalles
y exporte un certificado haciendo clic en el botónCopiar a archivo
. -
Exportar binarios codificados
DER
. -
Elija el directorio donde desea guardar y asigne un nombre al archivo.
-
Al hacer clic en
Finalizar
, verá un mensajeLa exportación se realizó correctamente
.
-
Inicie una entrada de almacén de confianza con un nuevo certificado. La utilidad de la herramienta clave se puede utilizar para hacer esto.
Ejecute el siguiente comando para crear un nuevo almacén de confianza.
keytool - import - file C :\cascerts\firstCA.cert - alias firstCA - Keystore myTrustStore
-
Reinicie su programa para completar el proceso.
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedInArtículo relacionado - Java SSL
Artículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase