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
- Inicie sesión o regístrese para enviar comentarios
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