sealsign cliente clickonce

13
[email protected] elevenpaths.com SealSign – Cliente ClickOnce ElevenPaths, innovación radical y disruptiva en seguridad

Upload: elevenpaths

Post on 08-Jan-2017

155 views

Category:

Technology


1 download

TRANSCRIPT

[email protected]

elevenpaths.com

SealSign – Cliente ClickOnce

ElevenPaths, innovación radical y disruptiva en seguridad

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 2 de 13

CONTENIDOS

1 Introducción ............................................................................................................... 3

2 Requisitos mínimos ..................................................................................................... 4

3 Tareas comunes .......................................................................................................... 5

3.1 Instalación off-premises ............................................................................................................ 5

3.2 Instalación on-premises ............................................................................................................ 5

3.3 Configuración del cliente JavaScript ......................................................................................... 5

4 Casos de uso ............................................................................................................... 7

4.1 Ejecución del cliente y lanzar al arrancar Windows ................................................................. 7

4.2 Firma Digital .............................................................................................................................. 7

4.2.1 Filtrado de certificados ............................................................................................................... 7

4.2.2 Firma del documento ................................................................................................................. 7

4.3 Firma Biométrica ...................................................................................................................... 8

4.3.1 Configuración del dispositivo ..................................................................................................... 8

4.3.2 Firma del documento ................................................................................................................. 8

5 Recursos .................................................................................................................... 12

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 3 de 13

1 Introducción

El cliente ClickOnce de SealSign viene a sustituir en entornos Windows al Applet de Java. Su despliegue está basado en la tecnología ClickOnce de Microsoft que permite el despliegue de aplicaciones por internet. Para más información deberá visitarse el sitio de Microsoft.

El cliente es capaz de comunicarse de forma bidireccional con el navegador que ha lanzado la petición de firma para conseguir un comportamiento similar a la integración del Applet con el navegador utilizando JavaScript. Esta comunicación se consigue utilizando SignalR de Microsoft. Para más información sobre SignalR puede visitarse el sitio oficial de SignalR.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 4 de 13

2 Requisitos mínimos

El cliente funciona con .Net Framework 4.5

Los sistemas operativos soportados son:

o Windows 7

o Windows 8

o Windows 10

o Windows Server 2008 R2

o Windows Server 2012

Los navegadores compatibles con SignalR son:

o Internet Explorer versiones 8, 9, 10 y 11

o Microsoft Edge

o Google Chrome a partir de la versión 50

o Mozilla Firefox a partir de la versión 46

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 5 de 13

3 Tareas comunes

3.1 Instalación off-premises

El cliente de ClickOnce está hospedado en los servidores de 11paths. En la página de descarga se puede instalar tanto el cliente como los prerrequisitos del mismo. Una vez instalado aparecerá el icono en el escritorio.

Imagen 01: Icono de SealSign ClickOnce.

3.2 Instalación on-premises

Si es necesario desplegar el cliente en otro servidor que no sea el de 11paths, hay que seguir los siguientes pasos.

Descomprimir el cliente que se encuentra en la descarga del SDK de la versión 3.2.

Para modificar los archivos de despliegue de ClickOnce hay que descargar e instalar el SDK de Windows

Cambiar la URL de publicación con el siguiente comando: mage -u SealSignClient.application -pu http://[URL]/SealSignClient.application

Reasignar el manifiesto de la aplicación con: mage -u SealSignClient.application -AppManifest "Application Files\SealSignClient_1_0_0_0\SealSignClient.exe.manifest"

Finalmente, firmar el archivo con el comando: mage -sign SealSignClient.application -cf [ruta del certificado] -pwd [contraseña del certificado]

Una vez hechos estos pasos se puede desplegar en el servidor el cliente de ClickOnce.

Para que todo funcione correctamente hay que comprobar que el servidor web tiene los siguientes tipos MIME configurados:

.application –> application/x-ms-application

.manifest –> application/x-ms-manifest

.deploy –> application/octet-stream

3.3 Configuración del cliente JavaScript

En este tutorial se explica en detalle cómo configurar un entorno con SignalR, y en el ejemplo alojado en el gitHub de 11Paths se encuentra todo el código necesario para hacerlo funcionar.

Hay que tener en cuenta que una vez que el cliente se ha lanzado se queda escuchando en el puerto 8081. En la parte de JavaScript habrá que:

Referenciar al código JavaScript del hub, situada en la URL: http://localhost:8081/signalr/hubs

Indicar cuál es la URL del hub. $.connection.hub.url = "http://localhost:8081/signalr";

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 6 de 13

El nombre del hub de SignalR es sealSignHub. var hub = $.connection.sealSignHub;

La aplicación realiza llamadas a diferentes métodos del cliente JavaScript, tanto para notificar que está realizando alguna tarea, como para notificar que ha terminado esa tarea, o para indicar al navegador que debe redireccionar a una URL. Los métodos son:

o Navigate: la aplicación comunica al cliente que debe navegar a la URL que le pasa por parámetro. Normalmente será una de las URLs que se han definido como de éxito, cancelación, rechazo o error. Uso: hub.client.Navigate = function (url) { }

o AsyncOperationStarted: la aplicación notifica al cliente que ha comenzado una operación asíncrona y de larga duración. A partir de este punto el cliente JavaScript debería ceder el control al componente ClickOnce. Adjunta un mensaje con los detalles de la operación. Uso: hub.client.AsyncOperationStarted = function(message){ }

o AsyncOperationCompleted: la aplicación notifica al cliente que ya ha terminado y que puede tomar el control. Uso: hub.client.AsyncOperationCompleted = function(){ }

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 7 de 13

4 Casos de uso

4.1 Ejecución del cliente y lanzar al arrancar Windows

Una vez instalado el cliente aparecerá el icono en el escritorio, para lanzarlo sólo hay que hacer click en él, aparecerá el siguiente mensaje.

Imagen 02: Mensaje del Cliente.

El cliente se puede configurar para que se arranque cuando se inicie sesión en Windows, para ello hay que hacer click con el botón derecho sobre el icono y pulsar sobre la opción “Ejecutar al arrancar el equipo”.

Imagen 03: Menú contextual de la herramienta.

4.2 Firma Digital

Aquí se describe qué funciones se publican para realizar la firma digital de documentos, así como las funciones del cliente JavaScript que se invocan para notificar el progreso y la finalización del proceso.

4.2.1 Filtrado de certificados A la hora de realizar la firma digital se pueden filtrar los certificados que se mostrarán en el listado. El filtrado se puede hacer por issuer, por hash y por serial number:

setCertificateIssuerFilter: Filtra por issuer, recibe como parámetro los issuers válidos separados por ‘|’. Se usa para mostrar únicamente los certificados del DNIe: hub.server.setCertificateIssuerFilter('AC DNIE 001');

setCertifciateHashFilter: Filtra por hash, recibe como parámetro el hash del certificado con el que se firmará. Uso: hub.server.setCertificateHashFilter('[HASH]');

setCertificateSerialFilter: Filtra por el serial number del certificado. Uso: hub.server.setCertificateSerialFilter('[SERIAL NUMBER]');

4.2.2 Firma del documento Se puede realizar el proceso de firma de las siguientes formas.

Parámetros: Todas las sobrecargas de método digitalSign reciben como primer parámetro un array de string donde se parametriza la firma, estos parámetros son:

o URI del documento.

o URL del servicio.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 8 de 13

o URL de éxito.

o URL de error.

o URL de cancelación.

o Usuario de autenticación básica.

o Contraseña de autenticación básica.

Todos los parámetros son obligatorios, si alguno de ellos debe pasarse vacío se pasará como null.

digitalSign (string[]): Se firma el documento según los parámetros pasados utilizando la configuración por defecto del document provider.

digitalSign (string[], string): Se firma el documento según los parámetros pasados utilizando la configuración del document provider pasada como segundo argumento.

digitalSignUrl(string[], string): Se firma el documento que se encuentra en la URL dada. Se utiliza el document provider con la configuración por defecto.

digitalSignUrl(string[], string, string): Se firma el documento que se encuentra en la URL dada. El último parámetro son los parámetros para utilizar con el document provider.

digitalSignBase64(string[], string): Se firma el documento que se ha pasado como parámetro en base 64. Se utiliza el document provider con la configuración por defecto.

digitalSignBase64(string[], string, string): Se firma el documento que se ha pasado como parámetro en base 64. El último parámetro son los parámetros para utilizar con el document provider.

4.3 Firma Biométrica

4.3.1 Configuración del dispositivo Las siguientes funciones solo afectan a los dispositivos Wacom:

setClearImage: Establece la imagen de fondo de la tableta cuando se completa el proceso de firma. La imagen se pasa en base64.

setClearImageUrl: Establece la imagen de fondo de la tableta cuando se completa el proceso de firma. La imagen está alojada en la URL pasada por parámetro.

4.3.2 Firma del documento Parámetros: El primer parámetro de las diferentes firmas de los métodos de firma biométrica es

un array de string que configura el comportamiento del componente.

o URI del documento.

o URL del servicio.

o URL del documento a firmar.

o Padding X esquina inferior izquierda.

o Padding Y esquina inferior izquierda.

o URL de éxito.

o URL de error.

o URL de cancelación.

o URL de rechazo.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 9 de 13

o Usuario de autenticación básica.

o Contraseña de autenticación básica.

o Color de fondo del título de la vista de aceptación.

o Título de la vista de aceptación.

o Color del título de la vista de aceptación.

o Identificador.

o Etiqueta “Paso”.

o Etiqueta “de”.

o Botón Firmar – Pantalla de firma.

o Botón Continuar - en todas las pantallas.

o Botón Borrar – Pantalla de Firma.

o Botón Cancelar – en todas las pantallas.

o Botón Rechazar – en todas las pantallas.

o Texto OPCIONAL superior en la pantalla de firma.

o Texto 1 inferior OPCIONAL en la pantalla de firma.

o Texto 2 inferior OPCIONAL en la pantalla de firma.

o Texto superior al área de checks.

o Texto inferior al área de checks.

o XML con la configuración del formulario del panel de firma.

Formulario: Para el proceso de firma manuscrita se puede añadir un formulario en el que el usuario deba seleccionar varios checks para poder avanzar en el proceso y, finalmente, realizar la firma. La configuración de este formulario es el último parámetro de los descritos en el apartado anterior.

Este es un ejemplo de un XML válido: <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <screens> <screen id=\"screen1\"> <text id=\"Label1\"> <label color=\"#003A8C\">Vd. va a generar su firma electrónica sobre el contenido del documento con referencia [XXXXXXXXXXXXXXX], cuyo contenido autoriza expresamente.</label> </text> <checkbox id=\"chk1\" mandatory=\"1\"> <label color=\"#003A8C\">Marcar para continuar</label> <value>0</value> </checkbox> </screen> <screen id=\"screen2\"> <text id=\"Label1\"> <label color=\"#003A8C\">Ud. Consiente, de forma informada, previa y expresa, el tratamiento de datos de carácter personal, así como las cesiones a y de terceros previstas en el documento con referencia [XXXXXAAAAAAAAA]</label> </text> <checkbox id=\"chk1\" mandatory=\"1\"> <label color=\"#003A8C\">Marcar para continuar</label> <value>0</value> </checkbox> </screen> </screens>

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 10 de 13

En el XML se definen las pantallas que va a haber con el nodo screen. Cada nodo screen puede tener varios controles dentro, estos controles pueden ser o bien etiquetas, definidas en los nodos text, o checkboxes, definidos en los nodos checkbox. Estos checkboxes pueden ser obligatorios para poder avanzar en el proceso de firma. Si son obligatorios o no se define en el atributo mandatory del nodo checkbox del fichero XML, si su valor es 1 es obligatorio y si es 0 es opcional.

Además de esta configuración de pantallas, se utilizan algunos de los parámetros para configurar el look & feel.

Imagen 04 Ejemplo de formulario.

Es recomendable descargar el código de ejemplo desde la página de GitHub de 11Paths para familiarizarse con esos parámetros y ver cómo afectan a la pantalla.

bioSign(string[]): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Usa el document provider asociado a la URI del documento y su parametrización por defecto.

bioSign(string[], string): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Usa el document provider asociado a la URI del documento al que se le pasan los parámetros del segundo argumento.

bioSignUrl(string[], string): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Se firma el documento del que se ha dado su URL, usa el document provider asociado a la URI del documento y su parametrización por defecto.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 11 de 13

bioSignUrl(string[], string, string): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Se firma el documento del que se ha dado su URL, usa el document provider asociado a la URI del documento al que se le pasan los parámetros del segundo argumento.

bioSignBase64(string[], string): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Se firma el documento que se ha puesto en el segundo parámetro en base64, usa el document provider asociado a la URI del documento y su parametrización por defecto.

bioSignBase64(string[], string, string): Lanza el proceso de firma parametrizado con la configuración que se pasa por argumento. Se firma el documento que se ha puesto en el segundo parámetro en base64, usa el document provider asociado a la URI del documento al que se le pasan los parámetros del segundo argumento.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 12 de 13

5 Recursos

Para información acerca de los distintos servicios de SealSign puede accederse a esta dirección: https://www.elevenpaths.com/es/tecnologia/sealsign/index.html

Además en el blog de ElevenPaths es posible encontrar artículos interesantes y novedades acerca de este producto.

Puede encontrarse más información acerca de los productos de Eleven Paths en YouTube, en Vimeo y en Slideshare.

Cliente ClickOnce V.3.2 - Agosto 2016

2016 © Telefónica Digital España, S.L.U. Todos los derechos reservados. Página 13 de 13

La información contenida en el presente documento es propiedad de Telefónica Digital España, S.L.U. (“TDE”) y/o de cualquier otra entidad dentro del Grupo Telefónica o sus licenciantes. TDE y/o cualquier compañía del Grupo Telefónica o los licenciantes de TDE se reservan todos los derechos de propiedad industrial e intelectual (incluida cualquier patente o copyright) que se deriven o recaigan sobre este documento, incluidos los derechos de diseño, producción, reproducción, uso y venta del mismo, salvo en el supuesto de que dichos derechos sean expresamente conferidos a terceros por escrito. La información contenida en el presente documento podrá ser objeto de modificación en cualquier momento sin necesidad de previo aviso.

La información contenida en el presente documento no podrá ser ni parcial ni totalmente copiada, distribuida, adaptada o reproducida en ningún soporte sin que medie el previo consentimiento por escrito por parte de TDE.

El presente documento tiene como único objetivo servir de soporte a su lector en el uso del producto o servicio descrito en el mismo. El lector se compromete y queda obligado a usar la información contenida en el mismo para su propio uso y no para ningún otro.

TDE no será responsable de ninguna pérdida o daño que se derive del uso de la información contenida en el presente documento o de cualquier error u omisión del documento o por el uso incorrecto del servicio o producto. El uso del producto o servicio descrito en el presente documento se regulará de acuerdo con lo establecido en los términos y condiciones aceptados por el usuario del mismo para su uso.

TDE y sus marcas (así como cualquier marca perteneciente al Grupo Telefónica) son marcas registradas. TDE y sus filiales se reservan todo los derechos sobre las mismas.

PUBLICACIÓN:

Agosto 2016

En ElevenPaths pensamos de forma diferente cuando hablamos de seguridad. Liderados por Chema Alonso, somos un equipo de expertos con inquietud para replantearnos la industria y gran experiencia y conocimiento en el sector de la seguridad. Dedicamos toda nuestra experiencia y esfuerzos en crear productos innovadores para que la vida digital sea más segura para todos.

La evolución de las amenazas de seguridad en la tecnología es cada vez más rápida y constante. Por eso, desde junio de 2013, nos hemos constituido como una start-up dentro de Telefónica para trabajar de forma ágil y dinámica, y ser capaces de transformar el concepto de seguridad anticipándonos a los futuros problemas que afecten a nuestra identidad, privacidad y disponibilidad online.

Con sede en Madrid, estamos presentes también en Londres, EE.UU, Brasil, Argentina, y Colombia.

TIENES ALGO QUE CONTARNOS, PUEDES HACERLO EN:

elevenpaths.com Blog.elevenpaths.com @ElevenPaths Facebook.com/ElevenPaths YouTube.com/ElevenPaths