Estoy construyendo un monitor de aplicación simple para sondear una de nuestras URL API y envíenos un correo electrónico si no puede obtener un código de estado HTTP 200 de la respuesta (esto indicaría nuestra API está fuera de servicio por alguna razón).Error SSL "Peer Not Authenticated" con HttpClient 4.1
estoy usando HttpClient 4.1 (esto es importante porque su API difiere en gran medida de 3.x).
Nuestro API es seguro SSL, sin embargo, entrar en:
en un navegador web que redirige a
sin causar ningún errores
Cuando HttpClient intenta golpear este URL (http://example.com/our-api
), se produce un error con una excepción javax.net.ssl.SSLPeerUnverifiedException
con un mensaje que indica:
pares no autenticado
veo que esto ocurra de una gran cantidad de otras personas como se evidencia en la publicación this (que también proporciona algunas formas de eludir este problema, una solución que voy a intentar implementar esta noche de hecho).
Lo que esta otra publicación (y las otras similares) no hacen es explicar por qué sucede esto en primer lugar. Entonces, en lugar de preguntar "¿cómo puedo arreglar esto?" Pensé que le preguntaría "¿Por qué sucede esto?" Antes de seguir adelante con una de las soluciones propuestas, me gustaría saber cuál es el problema que estoy tratando de arreglar ;-)
Podría publicar la traza completa? –
Debe tenerse en cuenta que este mensaje debe ser debido a programación extraña en HttpClient. Habría habido una falla anterior de SSLException 'handshake failure', y esto es lo que debería haber sido lanzado. Evidentemente, la ejecución continuó a una llamada SSLSession.getPeerCertificate(), que es la única API que arroja la excepción en el título. – EJP