Estoy implementando en mi aplicación unas peticiones http con certificado cliente, para ello tengo el keystore con mi certificado y el keystore con el certificado del servidor contra el que estoy haciendo las peticiones, y añado un SSLSocketFactory al schema 'https' y puerto 443. (En mi clase MyHttpClient)
Hasta ahí en principio todo correcto, el problema es que cuando lanzo mi aplicación y ejecuta la primera petición http con certificado, se queda ahi un buen rato y no llega la petición al servidor, y después de un rato la aplicación me tira la excepción
Código:
Lo más curioso es que (por casualidad) en una de las pruebas mientras esperaba a ver si hacía bien la petición o no, he puesto la app en background (dándole al botón home) y en ese instante ha llegado la petición al servidor, he vuelto a poner la app en primer plano (había terminado de ejecutar la petición correctamente), le he dado para que hiciera a siguiente petición http con certificado y la ha hecho del tirón correctamente sin ningún error. He vuelto a probar más veces y cuando hace la primera petición no llega al servidor hasta q no paso la app a segundo plano 05-09 10:27:44.067: E/AndroidRuntime(5248): Caused by: java.lang.RuntimeException: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
Alguién tiene alguna idea de por qué puede ser?? Es la SDK 4.2.2 y la versión de android del emulador en el que lo estoy lanzando también es la 4.2.2.
Muchas gracias!!