Registrarse  |  Login




Advertisement

Start Your Own Q&A Site

Create your own Q&A site easily, allowing you to quickly grow a new community around any subject matter or generate new organic traffic for your existing website.

Pregunta

Estado: Cerrada Puntos: 125 Fecha 12:39 - May 04, 2007  

jmiguel.rodriguez

En Java, como acceder a un webservice que necesita certificados?

Necesito programar un cliente java que acceda a un webservice (en un servidor microsoft, WS con .net) que requiere certificados (fnmt) y ssl para conectar. El codigo abreviado es como sigue:

Service service = new Service();
String endpoint = "https://www.servidor.web/AppWeb/Metodo.A...
Call call = null;
try {
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol" );
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStore", "/usr/jdk1.5.0_11/jre/lib/security/cacerts");
System.setProperty("javax.net.ssl.keyStorePassword","changeit&qu
ot;);
System.setProperty("javax.net.ssl.trustStore","/usr/jdk1.5.0_11/
jre/lib/security/cacerts");
System.setProperty("javax.net.ssl.trustStorePassword","changeit&
quot;);
System.setProperty("javax.net.debug","all");
call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
String res = (String)call.invoke("nombreMetodo",null);
System.out.println("RESULTADO ---->:"+res);
} catch (Exception e) { e.printStackTrace(); }

Y el resultado, en el catch, error 403 (acceso denegado por falta de certificado). Puesto que en debug veo el fuente de la pagina entiendo que el ssl esta funcionando pero me rechaza por falta de confianza. ¿Hay que decir en algun lado que llave propia se debe usar?. ¿Algun problema de incompatibilidad de java (1.4.2 / 1.5) o Axis (1.4) con Microsoft en este aspecto?

Categorías

Respuestas
Tutoriales

 

admin

Fecha:: Aug 18, 2007

Fecha: 03:57

jmiguel.rodriguez, encontraste una solución para tu pregunta?

En caso de que sí, por favor cierra la pregunta y distribuye los puntos. Si encontraste la solución por cuenta propia, nos alegraría si la pudieras explicar aqui para ayudar a otros usuarios con el mismo problema.

Si no encontraste ninguna solución aun, por favor escribe un comentario para hacerlo saber a los expertos que aun estás buscando una respuesta.

Gracias,
El Equipo de Administradores de Quomon

jmiguel.rodriguez

Fecha:: Aug 24, 2007

Fecha: 06:41

La solucion es usar el siguiente codigo para las propiedades de la conexion:

Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStore", "/usr/jdk1.5.0_11/jre/lib/security/cert_pvt_key.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "clave_de_mi_certificado");
System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");

System.setProperty("javax.net.ssl.trustStore", CACERT);
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

System.setProperty("com.sun.net.ssl.dhKeyExchangeFix", "true");


El resto, igual.

hrobayo

Fecha:: Jul 10, 2009

Fecha: 18:51

Por favor, tengo el mismo problema pero siguiendo este ejemplo no obtengo resultado. puedes tener el codigo completo de este ejemplo

marcosjara

Fecha:: Jul 29, 2010

Fecha: 20:24

Hola Hrobayo

Seria de gran ayuda si pones los imports del ejemplo que esta arriba, ya que existen varias clases con el mismo nombre,

Tambi'en si podemos saber los jars que utilizas.

Saludos

Marcos Jara
http://www.marcosjara.com

Pregunta cerrada

Esta pregunta ya ha sido cerrada y los puntos repartidos entre los siguientes expertos:


jmiguel.rodriguez: 125

Te invitamos a que comentes, aportes información o si lo prefieres, puedes escribir un tutorial para esta pregunta en el área de tutoriales.

Responde a esta pregunta

Nuevo usuario

Email:

Al enviar estos datos serás automáticamente registrado como usuario de Quomon y te enviaremos tus datos de login a este email

Usuarios registrados

Nombre de usuario:

Contraseña:

¿Has olvidado tu contraseña?

Nadie ha escrito un tutorial todavía. ¿Quieres ser el primero?

Responde a esta pregunta

Nuevo usuario

Email:

Al enviar estos datos serás automáticamente registrado como usuario de Quomon y te enviaremos tus datos de login a este email

Usuarios registrados

Nombre de usuario:

Contraseña:

¿Has olvidado tu contraseña?

Haz una pregunta

¿Tienes una pregunta nueva?

Tienes 100 carácteres disponibles



Mejores Expertos

Ver Más

Pos.

Experto

Puntos

1.

orionb

5970

2.

gumarelo

5543

3.

LAGM

4848

4.

Cheto

3995

5.

gonzalo

2840

6.

frearg

2000

7.

titooo

1802

8.

6roNin6

1721

9.

Eternak

1575

10.

jMd

1485

Hazte Experto

Registrate hoy para compartir tus conocimientos con la comunidad y sea reconocido y retribuido por tus contribuciones.


Registrate Aqui




"Psst, Quomon es una web fantástica. Pásalo."     Recomendar  |   Enlazar  |   Guardar en Delicious  |   Digg! Digg.com



Opciones de Idiomas

English:

www.quomon.com

Español:

www.quomon.es