Hola estoy intentando descargar un archivo mediante una conexio Https y me salta uan excepcion que no logro corregir.
Las clases que implementan la conexion HTTPS son las siguientes:
public class Https {
//System.setProperty("javax.net.ssl.trustStore","tomcatKeystore");
//Para aceptar certificados que no estan en el keystore del cliente
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, new TrustManager[] { new SimpleTrustManager1() }, null);
SSLSocketFactory ssf = sc.getSocketFactory();
System.
out.
println("Antes URL"); URL url
= new URL("https://192.168.2.2/PESADO.xml"); HttpsURLConnection urlConection = (HttpsURLConnection) url.openConnection();
urlConection.setSSLSocketFactory(ssf);
//urlConection.setHostnameVerifier(new SimpleHostnameVerifier());
urlConection.connect();
System.
out.
println("Antes INPUTSTREAM"); System.
out.
println("Despues INPUTSTREAM"); System.
out.
println("Antes leer fichero"); byte[] bytes = new byte[1024];
int leidos;
while ((leidos = is.read(bytes)) != -1){
fos.write(bytes, 0, leidos);
}
fos.close();
is.close();
}
}
Y la del TrustManager:
public class SimpleTrustManager1 implements X509TrustManager {
private Set<X509Certificate> certs = new HashSet<X509Certificate>();
public SimpleTrustManager1
() throws Exception { //Cargamos los certificados del Keystore en el atributo certs
}
}
}
for(int i=0; i<chain.length; i++){
if(certs.contains(chain[i])){
return;
}
}
int x
=JOptionPane.
showConfirmDialog(null,
"El servidor "+chain
[0].
getIssuerDN()+ " no se puede verificar. " +
"¿Desde realizar la conexión de todas formas?",
"TITULO",
JOptionPane.
YES_NO_OPTION);
//throw new CertificateException("La clave no está en el trustore");
}
}
Me salta la excepcion:
Exception in thread "main" java.io.IOException: HTTPS hostname wrong: should be <192.168.2.2>
at sun.net.www.protocol.https.HttpsClient.checkURLSpoofing(HttpsClient.java:524)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:448)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at conexionHTTPS.Https.main(Https.java:45)
Alguien me puede guiar en como corregir dicho error???
Saludos.
alzehimer_cerebral