Foros del Web » Programación para mayores de 30 ;) » Java »

Web Service Certificado

Estas en el tema de Web Service Certificado en el foro de Java en Foros del Web. Hola, buenos días. Implemente en netbeans, una aplicacion java para consumir un web service, hasta ahi vamos bien. La aplicacion anduvo sin mayor problema. El ...
  #1 (permalink)  
Antiguo 16/03/2015, 06:42
Avatar de gagustin  
Fecha de Ingreso: diciembre-2009
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Web Service Certificado

Hola, buenos días.
Implemente en netbeans, una aplicacion java para consumir un web service, hasta ahi vamos bien. La aplicacion anduvo sin mayor problema.
El tema es cuando la quiero consumir desde un WAR, probe de muchas maneras, inclusive consumiendo el web service directamente desde el mismo WAR, creando un cliente, y me tira el mismo error.

Failed to access the WSDL at: https://.../?wsdl.
It failed with: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target.


El wsdl tiene certificados, pero como desde la aplicación java pude consumirlo, en el WAR intente usar el mismo código, pero no funciono. Cree un keystore (.JKS) desde CMD, y le agregue al código java del programa la url y clave del mismo, y otros parámetros para el acceso a la wsdl, pero no tuve suerte.
Asi que si alguno le ah sucedido lo mismo y me puede dar una mano, agradezco.


Muchas gracias!!!
  #2 (permalink)  
Antiguo 16/03/2015, 06:55
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Web Service Certificado

Para que te funcionara en tu proyecto de sólo el cliente, tenías que tener el certificado en el cacerts (si es certificado servidor) de tu JRE.

Cuando usas un servidor, normalmente usan su propia JRE, así que tienes que añadir el certificado a ese cacerts. Puede ser que el servidor no tenga los mismos certificados que tu JRE, revísalo.

http://keystore-explorer.sourceforge.net/

En el caso de que sea un certificado cliente, tendrás que decirle dónde cogerlo o añadirlo al almacén por defecto que use el servidor.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 16/03/2015, 07:12
Avatar de gagustin  
Fecha de Ingreso: diciembre-2009
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Web Service Certificado

Gracias por la respuesta.
Exacto, es una palicación cliente, y como indicaste ahi, ya eh probado agregar la ruta y clave del certificado para que lo tome antes de llamar al método del web service, pero no me ah funcionado, A lo mejor no lo eh echo bien. Tienes algún ejemplo?

Gracias!
  #4 (permalink)  
Antiguo 16/03/2015, 07:28
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Web Service Certificado

No me has entendido, hay certificados de servidor y certificados de cliente, eso no tiene que ver con que tú estés haciendo un cliente, eso depende de cómo esté protegido el servicio al que llames.

Suponiendo que tu caso es de certificado de servidor, ¿qué has hecho relativo al certificado para que que te funcione en el cliente de prueba? Si es nada, entonces es lo que te dije antes, que el cacerts de la JRE/JDK no tiene los mismos certificados que el cacerts del servidor. Mira cuál es el certificado que necesitas y añádelo.

Ni siquiera has dicho qué has utilizado para generar el cliente o el framework que usas, en base a eso deberías buscar ejemplos.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 16/03/2015, 07:41
Avatar de gagustin  
Fecha de Ingreso: diciembre-2009
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Web Service Certificado

Te entiendo, lo que yo digo es esto:

El cliente que implemente en java, una java aplicattion, usando netbeans, al ejecutarla envio y recibio la respuesta del web service sin problemas.
Cuando utilizo esta misma aplicación como librería de una Web Aplicattion (WAR), llamo al mismo método y no funciona. Ya agregué el certificado que utiliza el web service a cacerts, fue lo primero que hice cuando no me funciono. Luego intente lo demás que te mencione en el otro mensaje.
  #6 (permalink)  
Antiguo 16/03/2015, 09:52
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Web Service Certificado

Esto
Cita:
ya eh probado agregar la ruta y clave del certificado para que lo tome antes de llamar al método del web service,
Cita:
Cree un keystore (.JKS) desde CMD, y le agregue al código java del programa la url y clave del mismo,
no es lo mismo que esto

Cita:
Ya agregué el certificado que utiliza el web service a cacerts,
Puedes decirle que busque el certificado en un jks distinto al cacerts, pero entonces habría que ver qué es lo que has puesto en el código para que haga eso. Si lo pones en el cacerts del servidor, no debería hacer falta hacer nada.

Mientras no digas qué servidor usas (versión), qué framework has usado para realizar el cliente, cómo es el código del cliente que funciona, y si estás metiendo directamente en jar en el war o si has añadido las clases, poco se puede decir.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 16/03/2015, 10:19
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Web Service Certificado

Cita:
Cuando utilizo esta misma aplicación como librería de una Web Aplicattion (WAR), llamo al mismo método y no funciona. Ya agregué el certificado que utiliza el web service a cacerts

La sensacion que da es que lo has aniadido al JDK del que tira Netbeans pero no del que tira el servidor de aplicaciones que ejecuta el .war.

Esto es lo que te esta diciendo Xerelo ya desde su primer mensaje y por algun extranio motivo no le contestas.


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:40.