Hola a todos,
Tengo una granja MOSS que funciona perfectamente como intranet.
Algunas de sus páginas contienen formularios Infopath 2007 que
obtienen datos por medio de diferentes servicios web alojados en el
mismo servidor. El problema me lo estoy encontrando cuando quiero dar
acceso a esta granja desde Internet bajo encriptación SSL. A
continuación detallo la situación.
Para dar acceso desde Internet bajo SSL he extendido la aplicación web
principal en la zona de internet. Esto no ofrece ninguna complicación,
y tras algunos retoques en el IIS (permisos e instalación del
certificado) he conseguido acceder sin problemas. Pero cuando abro
cualquiera de las páginas con formularios Infopath que acceden a datos
de los servicios web del mismo servidor aparece un vistoso error con
fondo azul que me informa que no se puede acceder a los datos, y me da
el código 5556.
Cuando miro el LOG de MOSS encuentro lo siguiente:
System.Net.WebException: Se ha terminado la conexión: No se puede
establecer una relación de confianza para el canal seguro SSL/TLS.
System.Security.Authentication.AuthenticationException: El
certificado remoto no es válido según el procedimiento de validación.
Entiendo con ello que me hace falta en algún sitio un certificado que
no tengo instalado. Como no sé dónde especificar esta configuración en
MOSS ni IIS lo miro en Infopath, editando el formulario. En las
opciones de seguridad le doy confianza total, publico el formulario y
me devuelve el mismo error.
Seguidamente en Infopath voy a firmar el formulario, pero mi
certificado no aparece en la lista de certificados disponibles, aunque
yo lo he instalado correctamente en la carpeta Personal del mi cuenta
de usuario y del equipo, y además el mismo certificado está instalado
en el servidor. Aquí vienen mis primeras preguntas:
¿No es válido el certificado de servidor para identificar el equipo?
¿Necesito un certificado especial para firmar formularios de Infopath?
¿Cómo me "fabrico" uno (va a ser uso interno)?
He de añadir que los servicios web funcionan perfectamente desde el
Internet Explorer invocándolos en cualquiera de los dominios definidos
en el servidor, con SSL o sin él, aunque en los formularios Infopath
las URLs apuntan a los servicios web de la zona de Intranet. Si cambio
estas URLs por las de la zona Internet bajo SSL sigo teniendo el
error. Por otro lado, si cambio la aplicación Web extendida de la zona
de Internet para que no use SSL, todos los formularios funcionan
perfectamente, por lo que el problema creo que es debido al uso de SSL
en el sitio web de MOSS.
Como nota curiosa y que a la vez me descoloca un poco, he conseguido
que funcionen todos los formularios en la zona Internet y bajo SSL si
hago lo siguiente:
1.- Inicio sesión de Terminal Server en el servidor de MOSS con el
usuario administrador con que instalé todo.
2.- En IIS indico que el usuario anónimo del sitio Web correspondiente
a la aplicación extendida sea el mismo con que he iniciado sesión en
el punto 1.
Con estos nuevos datos, si cambio el usuario del punto 2 por otro,
aunque sea administrador, los formularios no funcionan, y si no lo
cambio pero cierro la sesión de Terminal Server, tampoco funcionan. La
verdad es que no sé qué tiene que ver esto...
A ver si algún experto en integración de MOSS e Infopath me da un poco
de luz sobre le tema, que llevo una semana peleando con ello y ya
estoy rozando el desespero.
Saludos.
Leer las respuestas