Necesito crear una conexión Https con un servidor remoto y luego recuperar y verificar el certificado.Cómo obtener la cadena de certificados del servidor y luego verificar que sea válida y confiable en Java
he establecido la conexión fina:
try {
url = new URL(this.SERVER_URL);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
HttpsURLConnection secured = (HttpsURLConnection) con;
secured.connect();
}
Pero parece getServerCertificateChain()
método está definido por el tipo HttpsURLConnection
.
Entonces, ¿cómo recupero la cadena de certificados del servidor? Tengo entendido que getServerCertificateChain()
debe devolver una matriz de objetos X509Certificate
y que esta clase tiene métodos que puedo usar para interrogar al certificado.
necesito para verificar que:
- el certificado es válido y de confianza,
- comprobación del punto de distribución de lista de revocación de certificados con el número de serie del certificado
- asegúrese de que no ha caducado y
- comprueba que la URL del certificado coincide con otra (que ya he recuperado).
¡Estoy perdido y realmente agradecería cualquier ayuda!
¿Está seguro de que el código de cliente https de Java todavía no hace las cuatro cosas por usted? –
¿Obtuviste la solución para esto? Si el certificado es de confianza o no? Cualquier solución para eso –