<<

Documento técnico FAQs y limitaciones de WebSigner

Revisión: v 2.8 Fecha última versión: Agosto 2009

Índice

1 Introducción ...... 8 2 ActiveX...... 8 2.1 Instalación...... 8 2.1.1 El usuario no tiene permisos de instalación de ActiveX...... 8 2.1.2 Explorer no permite la ejecución...... 9 2.1.3 no permite la ejecución de ...... 11 2.1.4 No se confía en el Certificado de firma de TB-Solutions ...... 12 2.1.5 El componente se encuentra mal instalado ...... 12 2.1.6 Problemas con la instalación de la librería capicom.dll...... 13 2.2 Ejecución ...... 14 2.2.1 El componente esta mal instalado ...... 14 2.2.2 No hay permisos de Ejecución / Componente deshabilitado...... 14 2.2.3 Versiones Incoherentes...... 15 2.2.4 Petición Continua de instalación de WebSigner ...... 15 2.2.5 Problemas en capicom al obtener los certificados...... 15 2.2.6 Depurador de IExplorer...... 16 2.3 Desinstalación...... 17 2.3.1 Problemas durante la desinstalación ...... 23 2.4 Problemas con versiones concretas del navegador: ...... 24 2.4.1 ...... 24 2.4.2 Internet Explorer 7 en ...... 24 3 Applet...... 25 3.1 Problemas durante la instalación...... 25 3.1.1 Ventanas Emergentes desactivadas...... 25 3.1.2 Comunicaciones entre Dominios ...... 25 3.1.3 No hay permisos para instalar complementos (XPI)...... 26 3.1.4 No hay permisos para instalar ficheros...... 26 3.1.5 No hay permisos de ejecución de JavaScript ...... 27 3.1.6 Una vez aceptado todo no sucede nada...... 27 3.1.7 No esta instalada la maquina Virtual Java ...... 27 3.2 Problemas durante la explotación...... 27 3.2.1 Perfil Inválido...... 27

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 5 Fecha: agosto de 2009

3.2.2 ¿Por qué no se carga el perfil actual sin preguntar? ...... 28 3.2.3 ¿Por qué se carga el perfil por defecto sin preguntar pese a disponer de varios perfiles? ...... 28 3.2.4 ¿Por qué me muestra una ventana para indicar mi perfil? ...... 28 3.2.5 ¿Por qué no se detectan todos mis perfiles?...... 29 3.2.6 No se carga correctamente la DLL del componente...... 29 3.2.7 Doble inicialización del Applet...... 29 3.2.8 Class Cast Exception sun.plugin2.applet.Applet2ClassLoader ...... 29 3.2.9 Versiones incorrectas...... 30 3.2.10 Versiones en Caches ...... 31 3.2.11 Excepciones en la consola al acceder a ficheros o al salvarlos...... 31 3.2.12 ¿Por qué no se muestra la versión de la librería FullASF_Plugin.jar?.. 32 3.2.13 ¿Por qué tarda en cargar la versión completa aun estando todos los jars en cache?...... 33 3.3 Desinstalación...... 34 3.4 Problemas con versiones concretas del navegador ...... 38 3.4.1 1.0 ...... 38 3.4.2 Firefox 3 ...... 38 4 Común a Ambos ...... 39 4.1 Error JavaScript “no se encuentra definido…”...... 39 4.2 No se aplican bien las restricciones...... 39 4.3 Retirada prematura de Tarjetas ...... 39 4.4 Formatos Recomendados...... 40 4.5 Problemas con la integración de login ...... 40 5 e-DNI y Tarjetas Ceres (FNMT) ...... 40 5.1 ¿Por qué las ventanas de contraseña son diferentes?...... 40 5.2 ¿Por qué hay que instalar drivers diferentes para y FireFox/Mozilla? 41 5.3 ¿Por qué hay que instalar el certificado raíz del DNI?...... 41 5.4 No me muestra los certificados del DNI...... 41 6 Limitaciones...... 42 6.1 Funcionalidad general...... 42 6.2 Limitaciones generales ...... 43 6.3 Limitaciones dependientes de la tecnología ...... 45 6.3.1 ActiveX ...... 45

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 6 Fecha: agosto de 2009

6.3.2 Applet ...... 47 6.4 Plataformas y navegadores soportados ...... 51 6.4.1 Windows XP o superior...... 51 6.4.2 Suse 9.2 ...... 52 6.4.3 8...... 52 6.5 Soluciones propuestas...... 53

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 7 Fecha: agosto de 2009

1 Introducción

Este documento presenta los errores más típicos en la instalación y explotación del Componente WebSigner de ASF.

Se parte de las causas principales y se describe los síntomas y causas especificas para acaba explicando la solución.

Esta redactado pensando en los integradores de ASF y es una ayuda para que redacten su propio documento especifico para el sitio Web que este integrándose con WebSigner. Alguno de los fallos puede solucionarse o reducirse con una correcta integración.

Este documento también tiene como finalidad presentar un resumen de las limitaciones y restricciones en el uso de Websigner, así como un resumen de las plataformas y navegadores soportados por el mismo.

Tras una descripción general del componente, se describirán las limitaciones generales que presenta, para a continuación presentar las limitaciones dependientes de la tecnología. Finalmente, se mostrarán unas tablas que resumen las plataformas y navegadores soportados por WebSigner.

2 ActiveX

2.1 Instalación

Problemas típicos durante la instalación, todos estos comparten que no se puede instalar el ActiveX y algún mensaje de error (“debe tener permisos de administrador para instalar WebSigner” o un error avisando de que no se ha podido cargar el objeto). Además una vez solucionado el problema debe procederse nuevamente a la instalación del ActiveX

2.1.1 El usuario no tiene permisos de instalación de ActiveX

El grupo “usuarios” de un dominio NT (o Active Directory) por defecto no tiene permisos para instalar ActiveX. Debe instalarse WebSigner por un usuario que tenga, como mínimo, permisos de Administrador de la maquina o prepararse el componente como seguro dentro del ActiveDirectory, consulte la documentación de referente a tal efecto.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 8 Fecha: agosto de 2009

El mensaje que aparece cuando sucede esto es el siguiente (este mensaje es susceptible de se cambiado en cualquier momento):

2.1.2 Internet Explorer no permite la ejecución

Este error se debe a la configuración por defecto de IExplorer no permite la ejecución de ActiveX desde paginas a las cuales no se les haya considerado como de confianza. El mensaje notificado por IExplorer es:

Hay que poner el servidor donde se encuentran las páginas que usan WS en una zona de seguridad (Configurar las zonas de seguridad de IExplorer) donde se tenga activado la ejecución de ActiveX. La configuración de seguridad debe permitir la instalación y ejecución, prestar especial atención a la desactivación de los puntos que se muestran en la siguiente figura:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 9 Fecha: agosto de 2009

NOTA: Hay veces que se puede hacer necesario realizar otras modificaciones en la configuración de IExplorer. Estas modificaciones se dan en los apartados:

- Automatización:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 10 Fecha: agosto de 2009

- .Net Framework:

2.1.3 Internet Explorer no permite la ejecución de JavaScripts

Este error se debe a la configuración por defecto de IExplorer no permite la ejecución de JavaScript desde paginas a las cuales no se les haya considerado como de confianza.

Hay que poner el servidor donde se encuentran las páginas que usan WS en un zona de seguridad (Configurar las zonas de seguridad de IExplorer) donde se tenga activado la ejecución de JavaScript

En este caso, y según configuraciones de IExplorer, no se mostrara ningún mensaje. La siguiente captura es un caso tipo, como se puede apreciar no se cargan bien algunas constantes

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 11 Fecha: agosto de 2009

2.1.4 No se confía en el Certificado de firma de TB- Solutions

Este error se puede deber a que se ha cancelado la confianza en el momento de la instalación, o a que el administrador de la red no confía, o nuevas versiones de Windows que exigen una confianza Explicita por parte del usuario. O a que no se puede comprobar el estado del certificado.

El usuario debe confiar explícitamente en el certificado (habría que ponerlo en sitio publico y escribir las instrucciones). Básicamente es incluir el certificado en el almacén correspondiente de Windows.

2.1.5 El componente se encuentra mal instalado

Esto puede deberse que ha habido problemas de conexión durante instalación del mismo. Normalmente esto puede suceder con líneas de acceso a Internet de “Banda estrecha” y a una integración del componte no recomendada.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 12 Fecha: agosto de 2009

Hay que desinstalar el componente a mano y volver a realizar el proceso de desinstalación, Para borrar el registro del componente hay que ejecutar un archivo que borre las entradas del registro.

Para el integrador, para este tipo de conexiones hay que inicializar WebSigner desde un punto que bloquee el hilo del navegador siguiendo las recomendaciones de la guía de integración.

2.1.6 Problemas con la instalación de la librería capicom.dll

La librería capicom.dll es propietaria de Microsoft y hoy en día viene de serie en la mayoría de sus sistemas operativos.

Previendo que el usuario pueda tener una versión de sistema operativo donde la librería no se encuentre o que hubiese sido borrada, el componente ActiveX suministra esta librería.

El funcionamiento básicamente es el siguiente: si la máquina no tiene la librería se copia la del componente, si la máquina tiene la librería pero es de una versión inferior a la del componente se copia la del componente.

En el copiado descrito en el punto anterior en ocasiones surge el siguiente problema:

Es debido a que en el momento de la copia la librería se encuentra en ejecución, puede ser por otra aplicación que la use, puede ser por el propio sistema operativo (ejemplo: un inicio de sesión en Windows con tarjeta criptográfica), la solución para esto es asegurarnos que ninguna aplicación la esta usando, y en ese momento proceder a la descarga, si no sabemos que aplicación es podemos probar lo siguiente:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 13 Fecha: agosto de 2009

ƒ Arrancar la máquina y proceder a la descarga antes de ejecutar nada más.

ƒ Si lo anterior no funciona podemos proceder a realizar una actualización manual, lo mas fiable es descargar la librería de la página oficial de Microsoft: http://www.microsoft.com/downloads/details.aspx?displaylang=en&Fa milyID=860EE43A-A843-462F-ABB5-FF88EA5896F6

2.2 Ejecución

Problemas típicos durante la ejecución, cada uno con sus síntomas:

2.2.1 El componente esta mal instalado

El comportamiento en este caso puede ser diferente según lo que este registrado y habilitado.

En algunos casos no se encuentra los certificados, en otros no permite firmar.

Para solucionarlo hay que desinstalar todo el componente WebSigner y proceder a una nueva instalación.

2.2.2 No hay permisos de Ejecución / Componente deshabilitado

Si no hay permisos de ejecución de ActiveX, de JavaScript o se ha deshabilitado el componente no se mostrara ningún certificado.

El usuario debe tener permisos de ejecución de ActiveX y tener el componente habilitado. Mirar el apartado de instalación.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 14 Fecha: agosto de 2009

2.2.3 Versiones Incoherentes.

Los componentes JavaScript comprueban la versión y notifica el error en caso de que la versión instalada sea menor a la que esperan. La solución pasa por una reinstalación del componente.

Este error puede deberse a que el usuario no pueda instalar una nueva versión, revisar el apartado de instalación, o a que únicamente pueda acceder a una versión vieja del componente (caches Web, versiones antiguas del componente en el servidor,…)

Hay que asegurarse que en el servidor se encuentra la última versión y de que tenga acceso a los correspondientes ficheros.

2.2.4 Petición Continua de instalación de WebSigner

Cada vez que se cambia entre páginas que usan WebSigner nos pide instalar el componente, aunque se haya instalado en la página anterior.

Este es el mismo caso que el anterior (salvo que en vez de notificar un error, los componentes JavaScript inician la instalación) y al igual que en este ultimo hay que revisar que en el Servidor estén las últimas versiones, el cliente tenga acceso a estas últimas versiones (si es preciso borrando todos las caches) y que pueda instalar correctamente el componente.

En el caso de que no se pueda realizar una actualización automática, hay que realizar una desinstalación total y una nueva instalación de WebSigner.

2.2.5 Problemas en capicom al obtener los certificados

En algunos ordenadores puede verse un error similar al que se muestra en la siguiente imagen.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 15 Fecha: agosto de 2009

En este caso el error se produce en la consola pero se puede producir también ejecutando la librería Websigner en Internet Explorer.

Del error no se conoce la causa pero se ha solucionado reinstalando el componente CAPICOM. Este se puede descargar de la siguiente dirección.

http://www.microsoft.com/downloads/details.aspx?displaylang=es&Fa milyID=ca930018-4a66-4da

2.2.6 Depurador de IExplorer.

Se han detectado que en algunos momentos salta un mensaje indicando que la pagina Web ira lenta debido a un componente. Esto se debe a un depurador integrado en el propio Internet Explorer se puede deshabilitar

Revise que los scripts que llaman al componente no entran en un bucle sin fin. El depurador Integrado también notificara dicho mensaje si alguna salida es un “break” o hay “pauses” de por medio. El código de WebSigner no produce por si mismo esta situación.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 16 Fecha: agosto de 2009

2.3 Desinstalación

Si se desea desinstalar el componente se deberán seguir los siguientes pasos (Las pantallas y opciones concretas pueden variar según la versión del sistema operativo, XP, Vista, pero serán similares):

1. Cierre todas las ventanas del navegador y cualquier aplicación que esté utilizando WebSigner (es muy importante que WebSigner no esté siendo usado).

2. Abra el navegador y vaya a Pestaña “Herramientas” Æ “Opciones de Internet” Æ Pestaña “Programas” Æ Botón “Administrar complementos”:

3. En la Combo Box “Mostrar” escoja la opción “Controles ActiveX descargados (32 bits):

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 17 Fecha: agosto de 2009

4. Websigner se compone de dos componentes, uno que es el propio componente en sí y otro que es el encargado de la firma en formato propietario de Adobe, vamos a eliminar ambos componentes, para ello:

• Seleccionamos el componente de nombre “WSCryptoSystem Class” y pulsamos el botón “Eliminar”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 18 Fecha: agosto de 2009

• Seleccionamos el componente “WPASigner Class” y pulsamos el botón “Eliminar”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 19 Fecha: agosto de 2009

5. Eliminar manualmente la carpeta “LastGood” que esta ubicada en “C:\WINDOWS”, esta carpeta contiene una copia de información y librerías relativas al último WebSigner instalado. Esta carpeta es exclusiva del componente WebSigner por lo que puede eliminarla con la total tranquilidad de que no esta eliminando nada que no sea del componente.

6. Cierre el navegador.

Con los pasos anteriores realmente ya hemos acabado la eliminación del componente, ahora vamos a verificar que efectivamente el componente ya no aparece, para ello:

7. Abra el navegador y vaya a Pestaña “Herramientas” Æ “Opciones de Internet” Æ Pestaña “General” Æ Botón “Configuración”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 20 Fecha: agosto de 2009

8. Botón “Ver objetos”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 21 Fecha: agosto de 2009

9. En la ventana que se abre no deberían aparecer ni “WSCryptoSystem Class” ni “WPASigner Class”, se adjunta una captura donde si aparecen aunque el objetivo es reflejar lo que no debe aparecer, se puede observar también en la captura que cuando si tenemos los componentes se puede ver desde aquí si la versión que tenemos es la que deberíamos tener (cuando nos distribuyen el componente nos deben indicar que versión se nos esta distribuyendo):

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 22 Fecha: agosto de 2009

10. La última comprobación de que el componente WebSigner ha sido eliminado correctamente es comprobar que la carpeta “WebSigner” dentro de la ruta “C:\Windows\System32” esta vacía.

2.3.1 Problemas durante la desinstalación

2.3.1.1 Permisos

En caso de querer desinstalar el componente se puede tener problemas en caso de no tener permisos de administrador de la maquina como en la instalación (Ver punto 2.3 Desinstalación).

2.3.1.2 Borrado mientras están cargados

Un problema típico se debe a tener cargado el componente al intentar borrar los archivos, cierre el navegador y proceda según lo explicado en el apartado de desinstalación.

Según versiones de Internet Explorer avisa de que no se han podido borrar todos los ficheros o al recargar la página se siguen mostrando los certificados.

El resultado en este caso será equivalente a una mala instalación.

2.3.1.3 Desinstalación parcial

Al desinstalar el componente se borran todos los ficheros pero se sigue cargando el componente, se puede apreciar desde la ficha de habilitar/deshabilitar componentes.

Hay que proceder a una desinstalación total habilitando todo el componente y eliminando además desde la ficha de componentes.

(Ver punto 2.3 Desinstalación)

En caso de que siguiera sin desinstalarse bien se deberían borrar entradas del registro.

IMPORTANTE: Se debe hacer una copia de seguridad del registro antes de modificarlo. Esta opción debe evitarse a ser posible.

Puede ser que el componente al ser eliminado, se quede aun registrado (ocurre al intentar eliminar el componente teniendo en uso el mismo). Para poder volver a instalarlo correctamente se debe eliminar en el

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 23 Fecha: agosto de 2009

registro de Windows (regedit en ejecutar) la clave correspondiente. Para encontrarla ir a: HKLM/SOFTWARE/Classes/Interface . En esta clave se encuentra nuestro componente. Para eliminarlo usaremos la opción “Buscar” en esa carpeta y buscaremos por WSCryptoSystem. Borraremos la clave que contiene el resultado de la busqueda inmediatamente inferior a Interface. Tendrá un aspecto similar a: “{E0D41DA6-259F-36BA-A781-CE2BC08C61EB}”.

2.4 Problemas con versiones concretas del navegador:

2.4.1 Internet Explorer 7

Internet Explorer 7 es más restrictivo en cuanto a temas referentes a seguridad que sus versiones predecesoras.

Dado que los problemas que esto ocasiona no son de este componente sino de cualquiera de estas características se deja a continuación un link de la página oficial del servicio de certificación Ceres de la Fabrica Nacional de Moneda y Timbre, en dicho link se describen los pasos a seguir para que funcione:

http://www.cert.fnmt.es/index.php?cha=cit&sec=4&page=186&lang=es

2.4.2 Internet Explorer 7 en Windows Vista

Internet Explorer 7 es más restrictivo en cuanto a temas referentes a seguridad que sus versiones predecesoras, y mas aún cuando el sistema operativo es un Windows Vista.

Dado que los problemas que esto ocasiona no son de este componente sino de cualquiera de estas características se deja a continuación un link de la página oficial del servicio de certificación Ceres de la Fabrica Nacional de Moneda y Timbre, en dicho link se describen los pasos a seguir para que funcione:

http://www.cert.fnmt.es/index.php?cha=cit&sec=4&page=186&lang=es

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 24 Fecha: agosto de 2009

3 Applet

3.1 Problemas durante la instalación

3.1.1 Ventanas Emergentes desactivadas

El componente XPI necesita tener la ventanas Emergentes activadas para el sitio que se esta integrando con WebSigner.

No aparece nada en la pantalla. Según versiones del navegador avisa de que se esta intentando mostrar una pantalla y en otras muestra un incono en la barra de estado.

Se debe permitir mostrar pantallas emergentes al sitio.

Cunando no muestra la petición de ventanas emergentes no se carga la maquina virtual java.

3.1.2 Comunicaciones entre Dominios

Cuando se tiene los componentes XPI en otro dominio diferente a donde se encuentra el sitio que se esta integrando con WebSigner en el momento de instalar el complemento salta una ventana de fondo gris sin texto.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 25 Fecha: agosto de 2009

Consulte el manual de limitaciones.

Esto también sucede cuando no hay permisos de instalación en alguna versión y configuración de FireFox.

3.1.3 No hay permisos para instalar complementos (XPI)

Cuando salta la ventana emergente que pide instalar el complemento, al aceptarla no pasa nada.

Por norma general en la misma ventana pide dar permisos de instalación de complementos. Pero hay versiones del motor mozilla que hay que dársela directamente desde las opciones.

Una vez dado el permiso al recargar las páginas se muestra correctamente.

Hay que dar permisos de instalación al sitio que se esta integrando.

3.1.4 No hay permisos para instalar ficheros

En la primera ejecución hay que instalar unas librerías en el Mozilla, es necesario que el usuario que ejecuta el navegador tenga permisos de escritura en la instalación del navegador.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 26 Fecha: agosto de 2009

Se puede instalar manualmente las DLL incluidas en el XPI, incluyéndolas en la misma carpeta del navegador o en cualquier directorio del PATH, finalmente dar permisos al sitio Web para instalar Complementos y así poder consultar su estado.

3.1.5 No hay permisos de ejecución de JavaScript

Hay que permitir ejecutar JavaScript para que funcione correctamente.

Mozilla firefox no mostrara ningún mensaje avisando de este hecho.

3.1.6 Una vez aceptado todo no sucede nada

Hay que recargar como mínimo las paginas Web para que lance de nuevo la ejecución del plug-in Java.

Según versión del navegador también puede ser necesario reiniciar todo el navegador.

3.1.7 No esta instalada la maquina Virtual Java

Se necesita instalar la maquina virtual de Java. La recomendada es la versión 1.5. FireFox le mostrara información para instalar la maquina virtual.

3.2 Problemas durante la explotación

Durante la explotación revise el apartado de Internet Explorer ya que algunas causas son comunes.

Así mismo hay que revisar la consola de java, ya que esta da información detallada de lo que esta sucediendo en el Applet.

3.2.1 Perfil Inválido

No se muestran los certificados / se muestran los certificados de otro prefil. Una vez descartado los problemas comunes, hay que asegurarse que se esta cargando el perfil correcto, y que se tengan permisos a los ficheros del mismo. Aceptando la selección del perfil.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 27 Fecha: agosto de 2009

3.2.2 ¿Por qué no se carga el perfil actual sin preguntar?

Para poder obtener el perfil actual el JavaScript debe estar firmado, para lo cual se debe incluir en un Zip todos los recursos necesarios (incluyendo HTML, recursos gráficos, applets,…) esto haría que todo el sitio deba estar firmado y en Zip. Obligando al usuario a descargarse todo el sitio e impidiendo tener un sitio Web dinámico además de diferente para cada navegador.

3.2.3 ¿Por qué se carga el perfil por defecto sin preguntar pese a disponer de varios perfiles?

En versiones de Firefox 2.x.x o superiores el applet cargará el perfil por defecto independientemente de la existencia de otros perfiles debido a limitaciones del navegador.

En versiones de Firefox anteriores a 2.x.x es posible que el perfil por defecto se encuentre en la ruta esperada por defecto pero no así los demás.

3.2.4 ¿Por qué me muestra una ventana para indicar mi perfil?

En caso de que el applet no sea capaz de localizar el path de los perfiles se mostrará la ventana de selección de perfiles. Se mostrará el menú desplegable de perfiles vacío y se deberá especificar el path donde se encuentra el perfil deseado.

Esto puede suceder por varios motivos, a continuación se especifican dos posibles causas para este funcionamiento:

• Los perfiles no se encuentran en la ruta esperada por defecto.

• Alguna de las variables de ejecución de java han sido redefinidas, lo que impide al applet localizar el path correctamente.

En caso de que el applet encuentre varios perfiles se mostrará una ventana de selección de perfiles. Se mostrara el menú desplegable con los perfiles detectados.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 28 Fecha: agosto de 2009

3.2.5 ¿Por qué no se detectan todos mis perfiles?

Este funcionamiento puede deberse a varios factores.

• En caso de trabajar con versiones de Firefox 2.x.x o superiores el applet cargará el perfil por defecto independientemente de la existencia de otros perfiles debido a limitaciones del navegador.

• En caso de trabajar con versiones de Firefox anteriores a 2.x.x es posible que los perfiles no detectados no se encuentren en la ruta por defecto esperada.

3.2.6 No se carga correctamente la DLL del componente

El Applet necesita cargar las DLLs incluidas en el XPI para acceder a los certificados existentes en los almacenes de Mozilla. El usuario debe tener permisos para cargarlos en memoria.

Esto también puede pasar en caso de que ya esta cargada la DLL por otro Applet de otra aplicación que este integrándose con WebSigner. Tal y como indica la guía de integración. Cada versión (WS.js y WS_Full.js) se considera un Applet distinto.

3.2.7 Doble inicialización del Applet

WebSigner se distribuye en dos versiones (normal y full) para la maquina virtual de Java cada una de estas versiones las considera como aplicaciones diferentes, mirar la guía de limitaciones. Este error concreto se evita a partir de la versión 5.1.0.0.

Esto también pasa en el caso de tener dos integraciones y los ficheros se ubican en diferentes URL en cualquier versión de WebSigner.

3.2.8 Class Cast Exception sun.plugin2.applet.Applet2ClassLoader

Esta excepción se produce en las versiones comprendidas entre 5.1.0.0 y 5.1.0.2 ambas inclusive.

También se puede manifestar como un null pointer exception al realizar firmas.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 29 Fecha: agosto de 2009

Esta excepción se produce al tener activado el plug-in de nueva generación, en la pestaña “Avanzado” del “Panel de control de Java” disponible a partir de la revisión 10 de la JRE 1.6.

La solución es actualizar Websigner o desactivar el plug-in de nueva generación.

3.2.9 Versiones incorrectas

Cuando no esta instalada la versión correcta del applet en el servidor, las funciones que llaman a los métodos Java pueden fallar y notificar que no encuentran los métodos correspondientes.

Se trata de una versión no actualizada, actualice la versión del servidor y del usuario.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 30 Fecha: agosto de 2009

3.2.10 Versiones en Caches

Una vez actualizado en el servidor sigue comportándose igual en el usuario.

Esto es debido a que en el usuario sigue existiendo una copia antigua en la cache de java. Hay que borrar los objetos de la ante memoria java desde el panel de control java.

Este comportamiento se ha mejorado en versiones posteriores a ASF 4.0.5, con cada actualización de WebSigner debe haber recibido una nueva copia de WS.js y WS_Full.js, en caso de no ser así póngase en contacto con el equipo de ASF.

3.2.11 Excepciones en la consola al acceder a ficheros o al salvarlos.

Durante el proceso de guardado o acceso a ficheros se muestra el siguiente mensaje:

WebSignerAppletImpl.getPathFile ______Entrando en getPathFile() Exception occurred during event dispatching: java.lang.NullPointerException: null pData at sun.awt.windows.WComponentPeer._requestFocus(Native Method) at sun.awt.windows.WComponentPeer.requestFocus(Unknown Source) at java.awt.Component.requestFocusHelper(Unknown Source) at java.awt.Component.requestFocusHelper(Unknown Source) at java.awt.Component.requestFocus(Unknown Source) at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.Dialog$1.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

Y, en algunos casos, a continuación se cierra la consola de java y el explorador firefox.

El problema del cierre de ventana y consola se localiza debido a problemas durante la instalación de una jvm o actualización fallida de la máquina virtual de java. También se han hallado comentarios en Internet sobre la aparición de dicho error al trabajar con versiones beta de firefox y Explorer. La solución adoptada es la eliminación de la versión corrupta

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 31 Fecha: agosto de 2009

de la máquina virtual de java seleccionando (caso de windows) “Panel de control/ Agregar o Eliminar programas” y eliminando la versión correspondiente. Dicha versión, si el comportamiento del applet era correcto anteriormente, será la más reciente descargada.

Para acceder al listado de versiones de la máquina virtual de java instaladas en la máquina se puede acceder a “Panel de control/Java” y una vez dentro de la consola de java accediendo a la pestaña “Java/ Configuración del entorno de ejecución de Java”; allí se mostrará un listado similar al de la imagen siguiente:

En la mayoría de las ocasiones, sin embargo, los logs de Excepción anteriormente mostrados son inofensivos. Hasta la versión 1.6.0_7 no se produce este tipo de traza; no obstante, las posteriores (1.6.0_10 y sucesivas) si muestran este tipo de mensajes. Se debe a problemas provocados por cambios en la máquina virtual de java que, parece ser, provocan excepciones en hilos de ejecución paralelos que no obstante no afectan al funcionamiento del componente Websigner Applet. Simplemente, si no se produce el comportamiento crítico comentado al principio del apartado, deberán ignorarse dichos mensajes.

3.2.12 ¿Por qué no se muestra la versión de la librería FullASF_Plugin.jar?

Uno de los pasos seguidos durante la ejecución de procesos de asf en cliente es la carga de ciertas librerías necesarias para la creación del applet. Si accedemos (caso de windows) a “Panel de control/ Java” podemos ver en la opción “General (pestaña superior izquierda)/ Archivos temporales de Internet (sección inferior)/ Ver” un recuadro con las librerías cacheadas por la máquina virtual de java. El recuadro sería similar al de la siguiente imagen:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 32 Fecha: agosto de 2009

La inicialización del applet requiere la carga de una serie de librerías las cuales se especifica que sean cacheadas y, como opción para esas librerías cacheadas, se puede especificar una versión la cual es mostrada en el apartado homónimo de la imagen anterior. Asimismo el nombre de la librería se especifica en su url de acceso.

Sin embargo, la carga de la librería FullASF_Plugin.jar debe hacerse de forma dinámica en un apartado posterior a la declaración de las librerías a cachear. En la carga a posteriori no hay una asociación “nombre- versión” por lo cual en la consola de java el campo “Versión” se mostraba vacío. Para facilitar la identificación de la versión se ha añadido a la url de la librería un identificador de versión de manera que, al cargarlo, aparezcan concatenados nombre y versión y subsanar así la falta de información que antes se padecía.

3.2.13 ¿Por qué tarda en cargar la versión completa aun estando todos los jars en cache?

Una vez descargada la versión completa (WS_Full.js) las sucesivas cargas de Websigner Applet siguen descargándose el jar a pesar de que esta en la cache de Java.

Este problema sucede con la versión de la maquina Virtual Java 5. La solución es actualizarse a la maquina Virtual Java 6.

Esto sucede a partir de la versión de Websigner (5.1) que es capaz de cargar en una misma sesión de navegador la versión normal (WS.js) y completa (WS_Full.js). Por lo que se recomienda utilizar la versión completa únicamente cuando sea necesario.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 33 Fecha: agosto de 2009

3.3 Desinstalación

La forma de desinstalar el Applet es borrando la cache de Java desde el panel de control de Java, dicho panel puede aparecer en al panel de control del sistema operativo con el nombre de ‘Java’.

Si en el panel de control no aparece el panel de control de Java (depende de cómo se haya realizado la instalación), se puede arrancar directamente de su ejecutable, dicho ejecutable se encuentra en: DirectorioJRE\bin\javacpl.exe

El panel de control de Java cambia según la versión de la JRE.

Caso de JRE 1.5.X

1. Ir a la pestaña “General” y pulsar sobre el botón “Configuración…”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 34 Fecha: agosto de 2009

2. Pulsar sobre el botón “Ver miniaplicaciones…”:

3. Seleccionar el Applet a eliminar y pulsar el botón “Borrar”:

Caso de JRE 1.6.X:

1. Ir a la pestaña “General” y pulsar sobre el botón “Configuración…”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 35 Fecha: agosto de 2009

2. Pulsar sobre el botón “Borrar archivos…”:

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 36 Fecha: agosto de 2009

3. Marcar la check “Aplicaciones y applets” y pulsar sobre el botón “Aceptar”. Si la check “Aplicaciones y applets” aparece deshabilitada es porque la check “Conservar los archivos temporales en mi equipo.” que se puede ver en la captura del paso 2 esta sin marcar por lo que no hay nada que borrar.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 37 Fecha: agosto de 2009

3.4 Problemas con versiones concretas del navegador

3.4.1 Firefox 1.0

La versión FireFox 1.0 tiene algún fallo con el acceso de los certificados. Esto se soluciona en la versión 1.0.1 y lo más adecuado es instalar de nuevas los almacenes de certificados, no sirve actualizar el navegador únicamente.

3.4.2 Firefox 3

Problema en la carga del componente, aparece un error JavaScript con el mensaje “UserAgentButton is null”.

El error parece que se refiere a las líneas del propio código que integra WebSigner, por lo que al principio resulta bastante confuso ya que no existe ninguna variable, ni función ni nada de nada que sea ni siquiera similar a “UserAgentButton”.

El error se debe realmente a tener instalado un plugin llamado "User Agent Switcher", plugin muy usado en entornos de desarrollo. La solución es deshabilitar dicho plugin.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 38 Fecha: agosto de 2009

4 Común a Ambos

4.1 Error JavaScript “no se encuentra definido…”

No se encuentran las definiciones de las constantes, no se muestra ningún certificado y varios errores encadenados.

Normalmente este error se debe a que el navegador no puede localizar y/o ejecutar los archivos JS.

El usuario debe comprobar que no tiene un Proxy / Cortafuegos que le impida el acceso.

El integrador debe asegurase que los mismos están en una zona accesible desde el usuario.

Este error solo se mostrara como un aviso en la barra de estado del navegador

4.2 No se aplican bien las restricciones

No se muestran certificados que se deberían mostrar, y/o se muestran certificados que no se deberían mostrar.

Este problema se debe a restricciones que no se ajustan correctamente a los certificados instalados en el cliente.

WebSigner no puede controlar todas las opciones que permite ASF para las restricciones, lo mejor es utilizar restricciones más simples. Normalmente existen varias opciones para controlar lo mismo. Asegúrese que sin dichas restricciones se muestran todos los certificados que deberían mostrarse.

4.3 Retirada prematura de Tarjetas

Usando métodos de XXXXByIndex al retirar las tarjetas cambian los valores de los indices. La firma se realizara con otro certificado o notificara error. Idealmente se debe firmar con las funciones ByIssuerAndSerialNumber.

La tarjeta no se debe de retirar del sistema hasta que no se ha terminado de firmar con los certificados que están en dicha tarjeta.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 39 Fecha: agosto de 2009

4.4 Formatos Recomendados

Mozilla y CryptoAPI Utilizan diferente formato para identificar los certificados, El Applet soporta ambos, pero para maximizar la compatibilidad es recomendado utilizar el formato de Java (CN,…, C).

Para XML recomendamos utilizar UTF-8 escapando todos los caracteres especiales (acentos, eñes,…). Según el estándar es responsabilidad del canonicalizador XML, pero nos hemos encontrado que algunas implementaciones no lo hacen correctamente.

4.5 Problemas con la integración de login

Se ha detectado en determinadas configuraciones del servidor con SSL y al utilizar WebSigner para el login de acceso al sitio Web se pide indefinidamente el login, siendo aparentemente un problema de la firma realizada por WebSigner.

Asegúrese que los datos de conexión son los correctos y compruebe que el certificado del servidor para SSL sea correcto.

Esto se ha descubierto utilizando un cliente FireFox 2.0.3 y como servidor un WAS 6.0 con el certificado SSL por defecto. 5 e-DNI y Tarjetas Ceres (FNMT)

En este apartado incluimos las preguntas más comunes sobre el DNI- Electrónico, tanto las preguntas como las respuestas se aplican al DNI como a las tarjetas de la fabrica aunque no se nombre explícitamente.

5.1 ¿Por qué las ventanas de contraseña son diferentes?

La ventana de Internet Explorer la presenta los drivers específicos que suministra la policía y la fabrica. Al ser un almacén disponible para todo el sistema, se mostrara al insertar el DNI o al realizar llamadas a la tarjeta. Mientras que la ventana del applet la muestra el propio applet durante su inicialización.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 40 Fecha: agosto de 2009

5.2 ¿Por qué hay que instalar drivers diferentes para Mozilla y FireFox/Mozilla?

Mozilla no usa los almacenes de claves del Sistema Operativo, para acceder a otros almacenes que no sean los suyos utiliza el estándar PKCS#11, que es lo que suministra los drivers de la policía.

Internet Explorer utiliza su propio estándar para acceder a otros almacenes que no sean los suyos propios.

5.3 ¿Por qué hay que instalar el certificado raíz del DNI?

Para poder verificar y utilizar correctamente los certificados, el navegador necesita poder verificar toda la cadena de verificación. Debido a que la raíz no esta firmada por una CA de confianza global (como podría ser VeriSign) debe incluirse explícitamente.

5.4 No me muestra los certificados del DNI

Esto puede deberse a un fallo de los drivers o a un fallo con la comunicación del soporte físico, compruebe que el lector funciona correctamente (otro DNI, u otra Tarjeta) y que estén limpios los conectores de la tarjeta. Una vez descartado el fallo físico actualícese los controladores.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 41 Fecha: agosto de 2009

6 Limitaciones

6.1 Funcionalidad general

WebSigner es el componente cliente de la plataforma. Se descarga en el navegador de los usuarios de la plataforma y permite firma, verificación, cifrado y descifrado en cliente.

Los formatos de firma soportados son:

ƒ PKCS#7 v1.5, según se especifica en el RFC 2315.

ƒ CMS, según se especifica en los RFCs 2630, RFC 3369 y RFC 3852.

ƒ XMLDSig, de acuerdo con la recomendación del consorcio W3C: “XML-signature Syntax and Processing”.

ƒ XAdES, según se especifica en ETSI TS 101 903 v1.2.2, en sus subtipos BES y EPES.

ƒ CAdES, según se especifica en ETSI TS 101 733 v1.6.3, en sus subtipos BES y EPES.

Los algoritmos de firma soportados son:

ƒ RSA, con algoritmos de hash MD5 y SHA-1.

ƒ DSA, con algoritmos de hash SHA-1.

Los formatos de cifrado soportados son:

ƒ PKCS#7 v1.5, según se especifica en el RFC 2315.

ƒ CMS, según se especifica en los RFCs 2630, RFC 3369 y RFC 3852.

ƒ XMLEncryption, de acuerdo con la recomendación del consorcio W3C: “XML-Encryption Syntax and Processing”.

Los algoritmos de cifrado soportados (con las restricciones comentadas más adelante) son:

ƒ DES

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 42 Fecha: agosto de 2009

ƒ 3DES

ƒ RC2

ƒ RC4

ƒ AES

WebSigner expone un Interfaz Javascript común, para la invocación de los componentes de firma y cifrado, y la independización de la tecnología utilizada:

ƒ Para Internet Explorer, WebSigner basa su solución en la innovadora CAPICOM, un control ActiveX que proporciona una interfaz COM para la biblioteca criptográfica Microsoft CryptoAPI, así como invocaciones directas a dicha CryptoAPI. Para la firma XMLDSIG basa su solución en las librerías XERCES, XALAN y XSEC de Apache implementando el modulo en C++.

ƒ Para 6.x o superior, la solución está basada en un applet Java que accede al almacén de certificados propietario de Netscape y realiza las operaciones de firma a través de JSS/NSS. Este mismo applet es la solución adoptada para el uso de WebSigner en Mozilla desde la versión 1.4, teniendo en cuenta que para algunas versiones de este navegador será necesario descargar el JDK.

6.2 Limitaciones generales

WebSigner presenta algunas limitaciones generales, independientemente de la tecnología que se esté utilizando. A continuación se enumeran dichas limitaciones.

En la generación de firma en formato PKCS#7, CMS o CAdES, no tiene sentido:

ƒ Añadir un firmante detached a algo ya firmado.

En la generación de firma en formato CAdEs o XAdES, no tiene sentido:

ƒ Añadir un firmante de un subtipo (BES, EPES) distinto a los subtipos de los firmantes ya existentes.

ƒ No pueden existir varios firmantes CAdES-EPES o XAdES-EPES en paralelo ni en secuencial que tengan diferentes políticas, es decir, todas las firmas CAdES-EPES/XAdES-EPES de un objeto firmado deben tener la misma política.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 43 Fecha: agosto de 2009

En la generación de firma en formato XMLDSig, no tienen sentido los siguientes tipos de firma:

ƒ Firma detached y enveloped. La firma detached siempre debe ser enveloping.

ƒ Firma múltiple secuencial enveloped. La firma múltiple secuencial debe ser enveloping.

ƒ Firma múltiple paralela enveloping. La firma múltiple paralela debe ser enveloped.

ƒ Firma múltiple secuencial de una parte del documento, y no del documento completo. Cuando se añade un firmante de forma secuencial a algo ya firmado, no puede firmarse solamente una parte del xml, debe firmarse el xml entero, ya que se está firmando el resultado de una firma anterior.

ƒ Añadir un firmante detached. Cuando se añade un firmante al resultado de una firma anterior, debe ser firma attached, ya que la firma detached en el caso del XMLDSig firma un documento accesible por una URI, y se está firmando una firma anterior, no un documento.

ƒ Añadir firmante en paralelo al resultado de una firma enveloping anterior.

Existe alguna limitación por un problema de rendimiento o limitación de hardware que proviene de alguna librería utilizada:

ƒ Limitación de la librería XSEC en el rendimiento de ciertas transformaciones XPath (más concretamente la limitación es de la librería XALAN).

o XSEC es una la librería encargada de generar y procesar una parte importante de la firma XML.

o La librería XALAN es la encargada de realizar las transformaciones XSLT y XPath a través de XSEC.

o Se detecta la ralentización del proceso de firma al realizar la transformación not(ancestro-or-self) cuando se declara algún namespace en un documento con una cantidad elevada de nodos en un documento XML.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 44 Fecha: agosto de 2009

Al insertar una firma XML en un nodo del documento que tenga un namespace por defecto se debe tener en cuenta lo siguiente a la hora de seleccionarlo por una ruta XPath:

• Para XPath 1.0 (XSLT 1.0) no está permitida la búsqueda a un nodo que tenga un namespace por defecto (es decir, sin prefijo), ya que se toma el namespace como nulo en vez del asignado.

• Las versiones XalanC y XalanJ utilizadas son procesadores XSLT 1.0, por lo que no se permiten las búsquedas anteriormente citada.

• Para obtener este tipo de nodos con namespace por defecto es necesario utilizar una expresión XPath del siguiente tipo: *[local-name()="node"]

• Al utilizar la función local-name() se debe tener especial cuidado cuando tengamos nodos con mismo nombre pero diferente namespace, ya que con esta función no se distinguen los diferentes namespaces y prefijos.

Nota: Esto afecta a los formatos XAdES y XMLDSig para Websigner ActiveX y a XMLDSig para Websigner Applet.

6.3 Limitaciones dependientes de la tecnología

Además de las limitaciones descritas en el apartado anterior, y que aplican tanto para el ActiveX como para el applet java, hay algunas limitaciones dependientes de la tecnología.

6.3.1 ActiveX

En el caso del ActiveX, las limitaciones son las siguientes:

ƒ No soporta la lectura y firma de documentos PDF de las siguientes versiones: 1.5 y superiores sí son PDF’s dinámicos no compatibles con la versión 1.4, es decir, al generarlos contienen internamente “Cross Reference Streams” (la referencia del objeto está implícita en el propio objeto cuando se declara) en vez de tener una “Cross Reference Table” (Tabla que contiene la referencia de todos los objetos internos del PDF).

ƒ No soporta cifrado y descifrado con el algoritmo AES en WindowsXP e inferiores.

ƒ En formato XMLDSig sólo soporta (para firmar y para verificar) el algoritmo de hash SHA-1.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 45 Fecha: agosto de 2009

ƒ El algoritmo de hash SHA-256 sólo es soportado en Windows 2003 y Windows Vista (y posteriores).

ƒ En formato XMLDSig, para firmar partes de documentos, sólo reconoce como identificadores los atributos Id. Los atributos ID, id o cualquiera de ellos con un prefijo delante no los reconoce, salvo que el XML lleve incorporado el DTD e indique estos atributos como identificadores.

ƒ Los encodings soportados para formatos XML son: ASCII, UTF-8, UTF-16 (Big/Small Endian), UCS4 (Big/Small Endian), EBCDIC code pages IBM037, IBM1047 and IBM1140 encodings, ISO- 8859-1 (aka Latin1) and Windows-1252. No se incluye soporte ICU para tener soporte para más encodings debido al elevado tamaño de esta librería que debe ser incluida en el CAB del componente Websigner ActiveX. La inclusión del archivo icudt32.dll (9 MB) dentro del archivo .cab causa que se genere un CAB de 7 MB en vez de los 2,70 MB actuales.

ƒ Tabla de relación de velocidades con el tamaño del documento a firmar:

IMPORTANTE: Estos tiempos han sido obtenidos bajo WindowsXP SP2 en una máquina con 2 GB de RAM y 1,6 GHz doble núcleo. El documento XML firmado tiene aproximadamente 60000 nodos. Estas mediciones variarán según la máquina y el entorno dónde se estén realizando las firmas, pudiendo variar en función de la capacidad de procesado del equipo utilizado.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 46 Fecha: agosto de 2009

XMLDsig / XAdES

Tamaño de Enveloped Enveloping documento

1500 KB (6000 nodos) 2 min 10 sg

PKCS7 / CMS /CAdES

(Presentan tiempos similares en secuencial y en paralelo)

Signing time 1MB : 0.281000 sg Signing time 2MB : 0.578000 sg Signing time 4MB : 1.156000 sg Signing time 8MB : 2.328000 sg Signing time 16MB : 4.593000 sg Signing time 32MB : 9.138000 sg

6.3.2 Applet

En el caso del applet, las limitaciones son las siguientes:

ƒ La ventana de descarga del xpi sale en segundo plano. Debe pasarse a primer plano y aceptarse para la correcta descarga del xpi.

ƒ No está soportado el algoritmo de hash MD4.

ƒ En navegadores inferiores a la versión 7.1 de Netscape y 1.4 de Mozilla, en entorno Windows, sólo funciona el cifrado y descifrado

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 47 Fecha: agosto de 2009

con el algoritmo 3DES, ya que dichos navegadores no ofrecen soporte para otros algoritmos distintos de 3DES. ƒ En navegadores inferiores a la versión 7.1 de Netscape, en entorno Linux, sólo funciona el cifrado y descifrado con los algoritmos DES y 3DES (salvo en .0, en el que sólo funciona 3DES), ya que dichos navegadores no ofrecen soporte para otros algoritmos distintos de DES y 3DES.

ƒ El cifrado y descifrado con el algoritmo RC4 no está soportado en ninguna versión de Netscape ni Mozilla.

ƒ El cifrado con el algoritmo AES funciona correctamente, pero el descifrado falla, al no estar soportado en ninguno de los navegadores debido a un BUG de la JSS.

ƒ La librería xml de transformaciones XPath utilizada para la firma y verificación en formato XMLDSig no funciona correctamente en el applet, lo que provoca que la firma múltiple paralela en formato XMLDSig no funcione correctamente.

ƒ En formato XMLDSig sólo soporta (para firmar y para verificar) el algoritmo de hash SHA-1.

ƒ En formato XMLDSig, para firmar partes de documentos XML, sólo reconoce como identificadores los atributos Id, ID o id. Cualquiera de ellos con un prefijo delante no los reconoce, salvo los siguientes: ds:Id, xenc:Id, SOAP-SEC:id, wsu:Id. Sí los reconoce si el XML lleva incorporado el DTD indicando estos atributos como identificadores.

ƒ Con el plugin de java 1.3, no se verifica bien la firma del applet en algunos casos, dependiendo del certificado con el que se haya firmado. Si se actualiza el plugin a la versión 1.4, se soluciona.

ƒ Debido a un BUG de las máquinas virtuales 1.4.1 e inferiores, no es posible usar pop-ups bloqueantes en threads disparados por eventos javascript. Por lo tanto, la función de lectura de ficheros que se utiliza para firmar documentos (que lanza un FileDialog para la selección del fichero a firmar) se cuelga sin posibilidad de recuperación. Con plugins 1.4.2 o superiores funciona.

ƒ Si una vez cargado un applet, se salta con el navegador a otra aplicación que se descarga un segundo applet (aunque sea el mismo pero replicado en esa segunda aplicación), se utiliza un ClassLoader distinto para el segundo applet. Como las dlls ya han sido cargadas, permanecen en un vector interno, y no pueden ser cargadas por otro ClassLoader distinto, lo que provoca que el applet no funcione en esta segunda aplicación. Ésta es una

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 48 Fecha: agosto de 2009

limitación de seguridad de las JVM. La única forma de evitarla es copiar el jar con las clases de la librería JSS que lleva incorporadas el applet en el JAVA_HOME/lib/ext.

ƒ Los window pop-ups están habilitados en todas las versiones de Netscape por defecto, excepto en la versión 7.2, donde por defecto aparecen deshabilitados. Por tanto, el usuario debe habilitar los pop-ups de ventanas explícitamente para que el applet funcione correctamente. La habilitación de pop-ups puede hacerse en el menú de Netscape, en Edit/Preferences/Privacy & Security/Popup Windows.

ƒ En Linux aparece un mensaje indicando que debe esperarse unos segundos a que se cargue el applet. Para la correcta carga del applet, es preciso esperar a que aparezca la pantalla de aceptación de la firma del applet y aceptarla antes de aceptar este mensaje.

ƒ En Linux, este mensaje de espera aparece en todas las páginas que utilizan el applet.

ƒ En Linux, el almacén software del navegador debe tener contraseña obligatoriamente.

ƒ Además, existe una restricción de seguridad en Netscape y Mozilla que obliga a que el applet a descargar resida en la misma máquina, protocolo y número de puerto que la página que lo descarga, es decir, si la página que lo descarga reside en ://servidor1.dominio.com:8081/aplicacion1, el applet debe residir en cualquier directorio virtual a partir de https://servidor1.dominio.com:8081.

ƒ Mozilla Firefox permite cifrar y descifrar en DES, 3DES y RC2 mientras que en AES solo permite cifrar.

ƒ La funcionalidad de añadir una firma paralela y una firma secuencial no funciona en Mozilla Firefox con la version 1.5 de Java.

ƒ 8 puede funcionar como un Mozilla Firefox o como un Internet Explorer dependiendo de su configuracion, por lo que tendrá las limitaciones del explorador que suplante.

ƒ Si se cambia la tarjeta insertada en el lector, cambia el número de certificados del almacén, por tanto para que funcionen las funciones del API de WebSigner que se basan en el índice del certificado (signByIndex, …) es necesario volver a invocar a

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 49 Fecha: agosto de 2009

getCertificates(). Si no, WebSigner mostrará un mensaje de error y fallará.

ƒ En la configuración por defecto del plug-in de Java el tamaño máximo de datos a firmar es de 2MB. En caso de querer firmar ficheros más grandes hay que modificar la configuración del plugin para añadir los parámetros “–Xmx” y “–Xms” con los valores elegidos.

ƒ A partir de la versión de 5.1.0.0 de Websigner, solo se soporta el plug-in oficial de SUN de vieja generación. A partir de la versión 5.1.0.3 se soporta además, el plug-in de nueva generación y otros que sean compatibles con el cargador de clases del plug-in oficial.

ƒ Si se utiliza la maquina Virtual JVM 1.5 no se cachea correctamente el jar FullASF_plugin.jar y cada vez que se inicializa WebSigner, se vuelve a descargar aun estando en la cache. Para solucionar esto hay actualizar a la maquina virtual 1.6

ƒ Tabla de relación de velocidades con el tamaño del documento a firmar:

IMPORTANTE: Estos tiempos han sido obtenidos bajo WindowsXP SP2 en una máquina con 2 GB de RAM y 1,6 GHz doble núcleo. El documento XML firmado tiene aproximadamente 60000 nodos. Estas mediciones variarán según la máquina y el entorno dónde se estén realizando las firmas, pudiendo variar en función de la capacidad de procesado del equipo utilizado.

XMLDsig / XAdES

Tamaño de Enveloped Enveloping documento

1500KB(60000) nodos 1 min 1 min

PKCS7 / CMS /CAdES

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 50 Fecha: agosto de 2009

(Presentan tiempos similares en secuencial y en paralelo)

Signing time 1MB : 0.281000 sg Signing time 2MB : 0.578000 sg Signing time 4MB : 1.156000 sg Signing time 8MB : 2.328000 sg Signing time 16MB : 4.593000 sg Signing time 32MB : 9.138000 sg

6.4 Plataformas y navegadores soportados

A continuación se describen las plataformas y navegadores soportados por WebSigner, junto con las limitaciones asociadas a cada uno de ellos.

6.4.1 Windows XP o superior

Navegador JRE Limitaciones

Netscape 6.01 1.4.2 o superior Cifrado y descifrado sólo con 3DES

Netscape 6.1 1.4.2 o superior Cifrado y descifrado sólo con 3DES

Netscape 6.2 1.4.2 o superior Cifrado y descifrado sólo con 3DES

Netscape 7.0 1.4.2 o superior Cifrado y descifrado sólo con 3DES

Netscape 7.1 1.4.2 o superior

Netscape 7.2 1.4.2 o superior Debe habilitarse window popup 1.4.2 o superior Netscape 8 Ver Internet Explorer o Mozilla Firefox. (Mozilla Firefox) 1.4.2 o superior Netscape 8.1 Ver Internet Explorer o Mozilla Firefox (Mozilla Firefox)

Mozilla 1.5 1.4.2 o superior

Mozilla 1.7 1.4.2 o superior Firma paralela y secuencial no funciona con Mozilla Firefox 1.0.x 1.4.2 o superior Java 1.5. Cifrado y descifrado sólo con DES, RC2 y 3DES. Mozilla Firefox 1.4.2 o superior 1.5.0.3 Mozilla Firefox 1.4.2 o superior 1.5.0.4 Mozilla Firefox 1.4.2 o superior 1.5.0.6

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 51 Fecha: agosto de 2009

Navegador JRE Limitaciones

Mozilla Firefox 2.0 1.4.2 o superior Tendencia a dar problemas en la instalación y en la primera ejecución, documentado en el Mozilla Firefox 3.0 1.4.2 o superior punto “3.4 Problemas con versiones concretas del navegador” Internet Explorer No aplica Las ya comentadas para el ActiveX 5.5 SP2 o superior Internet Explorer No aplica Las ya comentadas para el ActiveX 6.0 Tendencia a dar problemas en la instalación, Internet Explorer No aplica documentado en el punto “2.4 Problemas 7.0 con versiones concretas del navegador”

6.4.2 Linux Suse 9.2

Navegador JRE Limitaciones

1.4.2 o Netscape 6.01 Cifrado y descifrado sólo con DES y 3DES superior 1.4.2 o Netscape 6.1 Cifrado y descifrado sólo con DES y 3DES superior 1.4.2 o Netscape 6.2 Cifrado y descifrado sólo con DES y 3DES superior 1.4.2 o Netscape 7.0 Cifrado y descifrado sólo con 3DES superior 1.4.2 o Netscape 7.1 Cifrado y descifrado sólo con 3DES superior 1.4.2 o Netscape 7.2 superior 1.4.2 o Mozilla 1.7 superior 1.4.2 o Cifrado y descifrado sólo con DES, RC2 y Mozilla Firefox 1.0.x superior 3DES 1.4.2 o Cifrado y descifrado sólo con DES, RC2 y Mozilla Firefox 1.5.0.x superior 3DES 1.4.2 o Mozilla Firefox 2.0 superior

6.4.3 Ubuntu 8

Mozilla Firefox 2.0 1.4.2 o superior Tendencia a dar problemas en la instalación y en la primera ejecución, documentado en el Mozilla Firefox 3.0 1.4.2 o superior punto “3.4 Problemas con versiones concretas del navegador”

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 52 Fecha: agosto de 2009

6.5 Soluciones propuestas

De los problemas expuestos anteriormente, el único no resuelto actualizando la versión del JRE de Java (además de las limitaciones de algoritmos impuestas por la propia tecnología) es el que se produce al saltar a una segunda aplicación que vuelve a cargar el applet.

Además, el applet “pesado”, que incluye soporte para formato XMLDSig, incluye diversas librerías de tratamiento de XML necesarias para su funcionamiento. Estas librerías hacen que el tamaño de esta versión pesada del applet sea excesivo, y por tanto su descarga inasumible por parte de los usuarios.

Todos estos problemas, unidos a la dificultad para encontrar una solución uniforme de descarga de xpi’s válida para los distintos navegadores (y que se ha solucionado, pero presenta el problema descrito de la ventana de descarga en segundo plano), sugieren que para próximas versiones de WebSigner, las clases de la JSS incluidas en el applet junto con algunas librerías xml no formen parte del applet, y se pongan a disposición de los usuarios en algún centro de descarga, junto con los xpi’s e instrucciones para su correcta descarga e instalación.

Título: FAQs y limitaciones de WebSigner Revisión: v 2.7 53 Fecha: agosto de 2009