Manejo de certificados en java y webservices

Tengo un problema al acceder a un web services (de renapo) ya carge el certificado al almacen de claves de java con keytool pero al momento de correr mi aplicaion me manda la siguiente Exception:

(org.apache.axis2.AxisFault) caught when processing request: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

El web services es este:

https:// 201.175.34.119/WebServicesConsulta/services/ConsultaPorCurpService

El cual se supone que al momento de explorar esta direcion:

https:// 201.175.34.119/WebServicesConsulta/services/ConsultaPorCurpService?wsdl

me debe dar el formato de respuesta de xml o me deve dejar descargar sus sertificados??????? o no es asi?????

y ni siquiera puedo acceder..
ayuda por favor soy un novato en esto de web services

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

RE: Manejo de certificados en java y webservices

Hola,

Con instalar el certificado a un kerstore(el cacerts en tu caso) deberia bastar. Tambien puedes agregar con codigo:

System.setProperty("javax.net.ssl.trustStore", PATH_TRUST_STORE);
System.setProperty("javax.net.ssl.trustStorePassword", PASS_TRUST_STORE);

Adicionalmente revisa la fecha de tu sistema, tener la fecha mal puede trarerte problemas con los certificados(cuestiones de periocidad del certificado). La descripcion del error me dice que es un problema con la disponibilidad del servicio. Ahora mismo estoy creando un cliente de WS para renapo, pero parece que la URL no es la correcta o no esta actualizada. He solicitado a la misma renapo la URL correcta, si tu la tienes te pido encarecidamente que la compartas ya que estoy atascado de momento con eso.

Por ultimo no olvides chekar la documentacion renapo porque necesitaras unsuario, contraseña y key para poder implementar dichos metodos de WS :).

Te recomiendo que revises (y

Te recomiendo que revises (y hagas) lo siguiente

1) Revisa cuales son los almacenes que usas para guardar los certificados, revisando de algún modo los valores de las propiedades javax.net.ssl.keyStore y javax.net.ssl.trustStore

En Glassfish los valores en la configuración del dominio son ${com.sun.aas.instanceRoot}/config/keystore.jks y ${com.sun.aas.instanceRoot}/config/cacerts.jks respectivamente, estás cadenas son expandidas en tiempo de ejecución a la carpeta config dentro de la carpeta que almacena el dominio.

2) Instala el certificiado raíz y los certificados intermedios en el almacén de la propiedad javax.net.ssl.trustStore

Si la cadena de certificación es (1) RAIZ (2) Intermedio RAIZ Class A (3) Intermedio Class 1 (4) Cliente, debes guardar en cacerts.jks los certificados 1, 2 y 3.

3) Instala el certificado y la llave privada del cliente en el almacén de la propiedad javax.net.ssl.keyStore

4) Si es posible, especifica el alias del certificado/llave privada a usarse en la conexión.

Nota: Por segurdad, debes proteger los almacenes con contraseña, revisa la documentación correspondiente. Los almacenes usados por Glassfish tiene contraseña por defecto