2012-02-21 15 views
10

Estoy intentando construir un servicio web alojado en Glassfish que suplante (para pruebas de desarrollo) un servicio web alojado en WCF. Tengo el WSDL del servicio alojado WCF, y puedo construir el servicio Java y el cliente Java desde el WSDL alojado en WCF sin problemas. El WSDL utiliza seguridad de certificado mutuo para el intercambio de datos.Problemas con la suplantación de un servidor web seguro WCF usando Glassfish/Metro

WSDL tiene un certificado X509 incrustado que coincide con el certificado de host del servidor WCF.

Cuando trato de conectar mi cliente Java al servicio Java alojado en Glassfish obtengo, por supuesto, errores de certificado.

¿Qué pasos debo seguir para que esto funcione? Supongo que:

A) Necesito reemplazar la cadena del certificado X509 en el WSDL con los contenidos del certificado autofirmado Glassfish 's1as' creado cuando instalé Glassfish.

B) Configure los parámetros SSL del servidor Glassfish para la configuración de red del servidor para usar los almacenes de certificados cacerts.jks y keystore.jks predeterminados que se suministran con la instalación de Glassfish. A pesar de que no estoy usando SSL aquí, supongo que el servidor necesita saber dónde está su almacén de confianza y el almacén de claves para realizar la seguridad del certificado mutuo a través de HTTP.

C) Agregue el certificado del servidor 's1as' al almacén de confianza para el cliente de Java.

D) Agregue el certificado que estaba usando previamente para el cliente original de conexión WCF al almacén de claves para el servidor Glassfish. (No estoy seguro de este?)

¿Hay algo que me falta aquí? Cualquier ayuda sería muy apreciada.

+0

¿Está utilizando SSL o seguridad de capa de mensaje (WS-security)? ¿Por qué simulas el servicio y no usas el servicio WCF? – Tomer

Respuesta

1

Aparentemente, está utilizando la seguridad de la capa de mensajes, no SSL. Entonces, la capa de comunicación no está encriptada, solo los mensajes mismos.

Esto se hace en Glassfish usando las características WSIT. Sugiero consultar el ejemplo de Mutual Certificate Security en el tutorial de WSIT: http://docs.oracle.com/cd/E19316-01/820-1072/ahiem/index.html.

Básicamente, WSIT utiliza los almacenes de claves en como-instalación/domains/domain1/config, y debe especificarlos por nombre de alias en su descriptor WSIT.

Greets, Geert.

Cuestiones relacionadas