Sobre este documento

Este documento tiene el objetivo de describir técnicamente la configuración de la solución ecoSignature Java Web Start (JWS de ahora en adelante) Desktop (en escritorio) desarrollada por edatalia.

El documento muestra

  • los requirimientos mínimos de funcionamiento.

  • Las características del producto.

  • La instalación del producto.

  • La configuración general de la solución, a través de un fichero de texto de configuración de parámetros denominado ecoSignature.ini, donde se describen todas las posibles opciones de configuración, englobadas en secciónes que permiten adecuar el comportamiento de la solución.

Introducción

Requerimientos

Los requisitos mínimos del funcionamiento de ecoSignature JWS Desktop son:
 
  • puesto cliente: PC de eFirma
 
    • Dispositivos hardware para captura biométrica: Wacom STU (430, 520, 530, 540), Wacom DTU (1031, 1141 (solo Windows)) y Pencil-Stylus (solo Windows).
 
  • Puesto PC:
 
    • Sistema operativo Windows 7 o superior.
 
    • Sistema operativo Linux Ubuntu 14.04 32 ó 64 bits o superior. (Recomendable 16.04+ 64 bits).
 
    • Java 1.7+.
 
    • Recomendamos instalación de drivers Wacom desde el siguiente enlace.

Nota

Para el correcto funcionamiento de la solución, para tabletas STU y DTU es necesario instalar los correspondientes drivers de Wacom.​

Características del producto

La solución ecoSignature JWS Desktop cuenta con una amplia colección de opciones de configuración que le aportan gran flexibilidad y le permiten ajustarse a cualquier flujo de trabajo:

  • Permite el firmado en PC local de cualquier documento pdf.

  • Más de 100 parámetros configurables para realizar el firmado.

  • Necesidad de licenciamiento para su uso.

  • Posibilidad de trabajar con el documento pdf en binario o en base 64.

  • Visualización del documento a firmar y del documento firmado.

  • Introducción de n firmas en un documento a través de interface (Datasheet).

  • Firmado de documentos de gran tamaño (el caso de uso permite hasta un tamaño de 100 Mb (en binario). El límite de tamaño del documento pdf a firmar es configuración de la máquina virtual de java (JVM).

  • En base 64 la limitación la impone la tecnología JNLP (Java Network Launching Protocol) y es de 1Mb para el fichero generado. (Tamaño del pdf binario aproximadamente de tamaño máximo de 750Kb).

  • Firmado en diferentes dispositivos de captura biométrica como tabletas Wacom o Pencil-Stylus sobre dispositivos Windows.

  • Se permite firmar con el ratón. De esta forma se puede probar la funcionalidad sin necesidad de tabletas específicas.

  • Se permiten dos tipos de firmado:

    • Firma digital manuscrita.

    • Firma digital convencional, mediante certificado electrónico, sin captura de rúbrica.

  • Por defecto, la firma se realiza mediante un certificado embebido en el propio JWS. En una instalación real se recomendaría introducir un certificado de la Entidad.

  • El documento es firmado electrónicamente, en ambos tipos de firmado, mediante certificado (en software o hardware). Sigue el estándar PAdES, desde básico hasta firma longeva PAdES- XL.

    • Sellado de tiempo en el momento de la firma.

    • Validación del estado de revocación del certificado en el momento de la firma.

  • Produce firmas digitales con algoritmo de resumen (hash) SHA2-512.

  • Configuración de certificados de firma y cifrado de datos (archivo estático o en base 64).

  • Posibilidad de firmado con un certificado local (instalado en CryptoAPI en Windows).

  • Posibilidad de certificar la firma.

  • Posibilidad de firmar documentos pdf con contraseña.

  • Personalización de la ventana de captura de firma de ecoSignature JWS en el PC.

  • Segunda ventana de captura de firma opcional para modo multimonitor.

  • Configuración y personalización de plantillas (denominadas EBP’s), a nivel de PC y de tableta, para presentación de datos al usuario antes del firmado.

  • Comunicación entre ecoSignature JWS y plantillas EBP’s mediante variables configurables.

  • Configuración de la dimensión de la rúbrica.

  • Configuración de ubicación de la rúbrica. Se presentan tres tipos de posicionamiento:

    • Posicionamiento manual: solo para integraciones con previsualización de documentos a firmar. El usuario puede mover/trasladar y redimensionar el widget o ventana de firma por la página del documento pdf.

    • Posicionamiento fijo: definición de posición de coordenadas X e Y fija y del número de página de la firma en el documento pdf, cuando sabemos el lugar concreto en el que queremos que se firme.

    • Posicionamiento flotante: definición de posición del widget por búsqueda de una cadena de caracteres, pudiendo introducirse un desfase en las coordenadas X e Y.

  • Posicionamiento en campos vacíos predefinidos.

  • Introducción de texto personalizado en la rúbrica.

  • Descarga y ejecución en local del documento pdf firmado.

  • Descarga de JPG del grafo en local del documento pdf firmado.

  • Integración con Virtual Channel Citrix (en Windows).

  • Validación de documento firmado.

  • Posibilidad de lanzamiento externo de la solución desde otras aplicaciones. 

Entrega 

La solución ecoSignature JWS Desktop se entrega en un fichero zip (Windows) o tar.gz (Linux) en el siguiente enlace.

Instalación

SO Windows

Para la instalación de la solución ecoSignature JWS Desktop en un entorno Windows se deben realizar los siguientes pasos:

  • Descomprimir el archivo .zip entregado.

Dentro de la carpeta “ecoSignatureJWS” podemos observar los siguientes ficheros, estructurados de la siguiente forma:

    • módulo de aplicación: contiene los ficheros de lanzamiento de la solución, de configuración y de log, este último optativo.

      • ecoSignatureJWS_Desktop.exe: fichero de lanzamiento de la solución.


      • ecoSignatureJWS.ini: fichero de configuración de la solución.

 

Nota

El fichero ecoSignatureJWS.ini presenta una configuración por defecto para poder lanzar un proceso de firmado sin necesidad de saber configurar la solución.

      • log4jJWS_ejemplo.properties: fichero de configuración de log para usuarios avanzados. Se comenta posteriormente.

      • carpeta “config”: carpeta de configuración para introducción de todo tipo de ficheros relacionados/necesarios para una personalización de un proceso de firmado (plantillas de firmado o ebp’s, ficheros de configuración .ini, ficheros de configuración de interface,…..).

      • carpeta “log”: donde se genera el log de la solución.

      • carpeta “Documentación técnica”: contiene a su vez:

        • carpeta “Configuraciones completas”: contiene las configuraciones completas de los ficheros de configuración por defecto y de los ficheros asociados con el datasheet o panel del terminalista.

        • documentación de la solución.

    • módulo de firmado: contiene todo lo relacionado con el firmado.

      • carpeta “ecobiometricJWS”:  ficheros .jar y librerías de firmado.

    • módulo de ejemplo: contiene todo lo relacionado con el lanzamiento de ejemplos de la solución.

      • carpeta “ejemplos”: contiene a su vez:

        • carpeta “datasheet”: ejemplos de configuración para el lanzamiento de la solución en modo datasheet o panel del terminalista a través de dispositivos de captura biométrica STU y DTU.

Nota

Sobrescribir el fichero ecoSignatureJWS.ini de la raíz para el lanzamiento de datasheet.

    • carpeta “pdf”: contiene documentos ejemplo para firmado.

    • carpeta “Firmados”: donde se dejan los documentos firmados.

Si se desea ejecutar inicialmente la solución con la configuración por defecto, ejecutar el archivo ecoSignatureJWS_Desktop.exe.

  • Copiar carpeta “ecoSignatureJWS” en la ruta “C:/”.

SO LINUX

Para la instalación de la solución ecoSignature JWS Desktop en un entorno Linux se deben realizar los siguientes pasos:

  • Descomprimir el archivo .tar.gz entregado.

Dentro de la carpeta “ecoSignatureJWS” podemos observar los siguientes ficheros, estructurados de la siguiente forma:

    • módulo de aplicación: contiene los archivo de lanzamiento de la solución, de configuración y de log, este último optativo.
      • ecoSignatureJWS_Desktop.sh: archivo de lanzamiento de la solución.

Nota

Modificar la segunda línea, introduciendo el usuario correspondiente:
cd /home//ecoSignatureJWS

      • ecoSignatureJWS_Desktop.jar: jar de la solución invocado en el archivo de lanzamiento anterior.

Nota

Se puede lanzar la solución a través de este archivo.

      • ecoSignatureJWS.ini y ecoSignatureJWS_completo.ini: archivos de configuración de la solución.

Nota

El archivo ecoSignatureJWS.ini presenta una configuración por defecto para poder lanzar un proceso de firmado sin necesidad de saber configurar la solución.

      • log4jJWS_ejemplo.properties: archivo de configuración de log para usuarios avanzados. Se comenta posteriormente.

    • módulo de firmado: contiene todo lo relacionado con el firmado.

      • carpeta “ecobiometricJWS”: ficheros .jar y librerías de firmado.

      • ecoSignatureJWS.pdf: documento ejemplo de firmado.

      • archivos .ebp: plantillas de firmado de ejemplo de la aplicación.

  • Copiar carpeta “ecoSignatureJWS” en la ruta “home//”, modificando el usuario correspondiente.

  • Si se desea ejecutar inicialmente la solución con la configuración por defecto, ejecutar el archivo ecoSignatureJWS_Desktop.sh o en su defecto el archivo jar ecoSignatureJWS_Desktop.jar.

Nota

IMPORTANTE: Modificar en el archivo de configuración ecoSignatureJWS.ini en el parámetro saveInLocalPath=/home//ecoSignatureJWS/Firmados/ por el usuario correspondiente antes de lanzar la solución.​

Requirimientos SO Linux

El firmado con ecoSignature JWS Desktop en Linux presenta unos requerimientos mínimos de instalación. Para la correcta instalación seguir los pasos descritos en las secciones “Instalación del JRE de Oracle” y de “Instalación del entorno Wacom” del siguiente documento.

 

Nota

Para ambos sistemas operativos, una vez que se tenga soltura con la configuración de los parámetros de la solución se puede presentar otra arquitectura o distribución de los dos módulos presentados anteriormente (módulos de aplicación y de firmado), los cuales pueden estar definidos en diferentes directorios.

Nota

IMPORTANTE: La solución ecoSignature JWS Desktop inicialmente levanta un web socket en local por defecto en el puerto 8181 para el proceso de firmado. Asegúrese de que dicho puerto no se encuentre ocupado. Se puede configurar un web socket externo, como su host y puerto o el puerto del web socket interno en el archivo de configuración. (Ver Parámetros de configuración).

Configuración general

La configuración general de la solución se realiza a través del fichero de configuración ecoSignatureJWS.ini, el cual por defecto se debe encontrar en la carpeta donde se encuentra el .exe de lanzamiento.

Se puede invocar a ecoSignature JWS Desktop con el fichero de configuración por defecto y/o seleccionando otro fichero de configuración pasado como parámetro.

Todas las opciones que podemos modificar de la solución se encuentran en el fichero ecoSignatureJWS_completo.ini. A continuación se presentan todos los parámetros configurables a través de este archivo.

 

Parámetros de configuración

El firmado con ecoSignature JWS Desktop necesita la configuración de una serie de parámetros para adecuarlo a cada escenario específico en el que se desee implementar. A continuación se muestran los diferentes parámetros de configuración con los que contamos para realizar un proceso de firmado.

Estos parámetros se dividen en dos grupos:

  • Parámetros generales de la solución.
  • Parámetros de configuración de firma (parámetros JNLP): Los parámetros JNLP son los que parametrizan un proceso de firmado. 

Para parámetros con url como “remotePdf-url”, “pfx-url”, “ebp-url“, “ebp-initial-url“,… ésta se puede pasar como:

  • ruta absoluta: “file:/ruta”

Ejemplo:

remotePdf-url=file:/C:/ecoSignatureJWS/ecoSignatureJWS.pdf (Windows)

remotePdf-url=file:/home//ecoSignatureJWS/ecoSignatureJWS.pdf (Linux)

  • ruta relativa desde donde se encuentra el archivo ecobiometric.jar.

Ejemplo:

ebp-url=../edatalia_initial.ebp

No aplica a los parámetros tsp-url y ocsp-url, éstos tienen una estructura de http://….

Los parámetros signatures-input-xml e interface-window permiten direccionamiento:

  • absoluto: “file:/ruta”

Ejemplo:

signatures-input-xml=file:/C:/ecoSignatureJWS/datasheet.xml (Windows)

interface-window=file:/home//ecoSignatureJWS/datasheet.ini (Linux)

  • relativo: desde donde se encuentra el .exe de la solución.

Ejemplo:

interface-window=datasheet.ini

Parámetros generales de la solución

 

A continuación se describen los parámetros generales de la solución:

Param Name

Valor

Valor por defecto

Comportamiento

path-ecoSignatureJWSStringRuta del .exeRuta absoluta de despliegue del módulo de firmado ecoSignature JWS.
alwaysOnTopBooleano1ecoSignatureJWS Desktop siempre visible en pantalla.
justOneLockBooleano1Solo permitir la ejecución de una instancia de la solución.
showAlertBooleano1Mostrar alertas en la solución.
showEventsBooleano0Visualización de la ventana de eventos.
toast

Booleano

1

Visualización de ayuda.

Documento

Documento de la aplicación

showPDFBooleano0Visualización de documento antes de ser firmado.
showPDFMonitorNumEntero0Número de monitor donde se visualiza el documento antes de ser firmado.
showPDFSignedBooleano0Visualización de documento después de ser firmado.
showPDFSignedMonitorNumEntero0Número de monitor donde se visualiza el documento después de ser firmado.
fullScreenBooleanoWindows = 1 y  Linux = 0Visualización en modo full screen. Solo aplica con showPDF o showPDFSigned activados.
zoom

Entero

Ancho del documento

Zoom inicial del documento a firmar.

Rango [50%-400%].

Solo aplica con showPDF o showPDFSigned activados.

Web Socket

Web socket de conexión de la aplicación

externalWebSocketBooleano0Conexión a web socket externo.
externalWebSocket-urlString Url de conexión externa. Solo aplica para externalWebSocket activado.
portWebSocket

Entero

8181

Puerto del web socket. Solo aplica para externalWebSocket desactivado.

Log

Log de la aplicación

log-activateBooleano0Activación de log.
log-fileStringRuta del .exe/ ecoSignatureJWS.logRuta absoluta de log de la solución.
levelLog

String

INFO

Nivel de log de la solución.

Datasheet o Panel de Terminalista

 
signatures-input-xml-b64String Entrada de firmantes a través de xml en Base64.
signatures-input-xmlString Entrada de firmantes a través de xml.
interface-window

String

 

Archivo de configuración de panel de terminalista (interface).

 

La generación de log se realiza a través de Log4j que es una biblioteca open source desarrollada en Java por la Apache Software Foundation que permite a los desarrolladores de software escribir mensajes de registro, cuyo propósito es dejar constancia de una determinada transacción en tiempo de ejecución. Log4j permite filtrar los mensajes en función de su importancia. La configuración de salida y granularidad de los mensajes es realizada en tiempo de ejecución mediante el uso de archivos de configuración externos.
Se presentan los siguientes niveles de log (parámetro “levelLog”):

  • TRACE: Se usa para información más detallada que el nivel debug.

  • DEBUG: Se utiliza para mensajes de información detallada que son útiles para depuración de la aplicación.

  • INFO: Se utiliza para mensajes de información que resaltan el progreso de la aplicación de una forma general.

  • WARN: Se utiliza para situaciones de aviso.

  • ERROR: Se usa para eventos de error.

  • FATAL: Se usa para errores muy graves
IMPORTANTE: Para la activación del panel de terminalista “signatures-input-xml-b64” o “signatures-input-xml” deben ser informados.
Cuando se activa el panel de terminalista no se tienen en cuenta los parámetros:
  • alwaysOnTop

  • showAlert

  • toast

  • showPDF

  • showPDFMonitorNum

  • showPDFSigned

  • showPDFSignedMonitorNum

  • fullScreen

  • zoom

Además se anulan los valores que presenten los parámetros JNLP:
  • Pdf-Content

  • remotePdf-url

  • pdfPassword

  • certificatePDF

  • saveInLocalPath

  • saveInLocalName

  • executeInLocal

Nota

Los parámetros "log-activate", "log-file" y "levelLog" no se tienen en cuenta si tenemos un archivo de configuración de log's llamado "log4jJWS.properties" en la ruta donde se encuentre el .exe de la solución.

Parámetros JNLP (Configuración de firma)

A continuación se describen los parámetros de configuración de firma (parámetros JNLP).

 

Entradas y salidas del documento PDF 

 

Param Name

Valor

Valor por defecto

Comportamiento

Pdf-ContentPDF en B64 Documento PDF a firmar en B64.
remotePdf-urltest.pdf URL de entrada de donde se coge el PDF.Si se informa Pdf-Content, este parámetro remotePdf-url no se tiene en cuenta.
widget-TextcustomString Texto custom del widget en B64.
authorString Autor de la firma (propiedad de un pdf firmado).
reasonString Razón de la firma (propiedad de un pdf firmado).
contactString Info de contacto de la firma (propiedad de un pdf firmado).
locationString Info de localización de la firma (propiedad de un pdf firmado).
pdfPassword

String

 

Contraseña del documento PDF de entrada si la tiene.

 

Certificados de firma y cifrado

El certificado de firma y de encriptación se pueden informar de varias formas. Por defecto, se utilizarían los certificados embebidos en el JWS. También se puede informar de la ubicación del fichero físico.En el caso del certificado de firma electrónica, también se puede obtener del almacén estándar de certificados de Windows (CryptoAPI).

Param Name

Valor

Valor por defecto

Comportamiento

cert-originBooleano0Si se activa (1) buscará el certificado en el almacén interno de windows (CryptoAPI).No aplica en Linux.
cert-origin-ca Permite identificar la CA del certificado desde el CryptoAPI.Sólo funciona si cert-origin=1.No aplica en Linux.
pfx-b64Base64 del contenido del PFXPermite informar el certificado de firma.
pfx-url Es la url al fichero pfx si no se usa “pfx-b64” ni otros orígenes de certificados.
pfx-pwEn Base64Password para activar el certificado.
Chain-CA-b64En Base64 Cadena de validación completa del certificado.
enc-key-b64Base64 del contenido del .cer Clave pública del cert de encriptación(el cifrado no requiere pss).
certificatePDF

Booleano

 

Firma PDF Certificada (MDP).

TIME STAMP

Sellado de tiempo en el momento de la firma

tsp-activateBooleano0Si se activa (1) activa la consulta TSP.
tsp-url   
tsp-user   
tsp-password   
OCSPValidación del estado de revocación del certificado en el momento de la firma
ocsp-activateBooleano0Si se activa (1) activa la consulta OCSP.
ocsp-url   
ocsp-user   
ocsp-password   
setValidateErrorContinueBooleano0Si se activa (1) la firma no se para aunque haya un error de validación OCSP

bufferLTV

Entero

0

Tamaño en Bytes de reserva en caso de querer realizar un PAdES-LTV (TSP+OCSP).

Debe dejarse un 2x de la cantidad estimada. Típicamente con 100000 funciona.

 

Nota

Si está activada la validación del estado de revocación del certificado en el momento de la firma y no se ha introducido la URL del OCSP, se toma automáticamente en la comprobación la URL del OCSP del certificado.

Ubicación del área de firma en el documento

Los siguientes parámetros permiten configurar el tamaño del área de firma y ubicarlo en el documento PDF.

 

Param Name

Valor

Valor por defecto

Comportamiento

Ubicación fija del área de firma

El JWS ubica la firma en una página y coordenadas determinadas

widget-Page

Entero

1

0 la firma se muestra en todas las páginas.

Si cualquier otro número, indicaría el número de página.

4 la firma se muestra en la página 4

9999 un número suficientemente grande puede servir para indicar la última página del documento.

widget-X

Entero

0

Desplazamiento del widget en horizontal, desde el vértice inferior izquierdo del documento PDF.

widget-Y

Entero

0

Desplazamiento del widget en vertical, desde el vértice inferior izquierdo del documento PDF.

Un documento PDF estándar, tamaño DIN-A4, tiene una altura de 842 puntos.

widget-Transparent-activate

Booleano

1

Widget transparente o no.

Ubicación relativa a cadena de caracteres

El JWS busca una frase en el documento y ubica la firma en relación al primer carácter. Por ejemplo “Firmado por:”

widget-autoPos-activate

Booleano

0

Si se activa (1) el JWS busca una cadena de caracteres para ubicar la firma

widget-autoPos-text

String

 

Texto a buscar. La firma se ubica de forma relativa al primer carácter.

Por ejemplo “Firmado por:”.

widget-autoPos-desfaseX

Entero

0

Desplazamiento relativo en horizontal.

widget-autoPos-desfaseY

Entero

0

Desplazamiento relativo en vertical.

Tamaño del área de firma

Atención: de cara a mantener la proporcionalidad de los trazados de la rúbrica, es muy relevante mantener el ratio de aspecto del área de firma en el EBP

widget-Ancho

Entero

120

Ancho del widget.

widget-Alto

Entero

30

Alto del widget.

Ubicación en campo vacío de firma

 

PDFEmptySig_enable

Booleano

0

Activación de posicionamiento en campo vacío de firma.

PDFEmptySig_fieldname

String

 

Nombre de campo de firma.

 

 

IMPORTANTE: Una vez configurados los parámetros de firmado, el posicionamiento del widget de firma depende de si se ha optado por la visualización del documento a firmar o no (activación de parámetro showPDF):

  • Si showPDF=1:

    • Si widget-autoPos-activate=1 se producirá la activación de posicionamiento flotante. Búsqueda de texto introducido en el parámetro widget-autoPos-text. A tener en cuenta:

      • Si no se encuentra el texto seleccionado se activa el posicionamiento manual.

      • Si se ha encontrado el texto seleccionado y el widget no se encuentra dentro de las coordenadas de la página del documento se activa el posicionamiento manual.

    • Si widget-Page o widget-X o widget-Y presentan algún valor se producirá  la activación de posicionamiento fijo. A tener en cuenta:

      • Si el widget no se encuentra dentro de las coordenadas de la página del documento se activa el posicionamiento manual.

    • En caso contrario, es decir, si no se presenta posicionamiento flotante ni fijo se utilizará la activación de posicionamiento manual.


Los parámetros widget-Acho, widget-Alto, widget-Page, widget-X, widget-Y, widget-autoPos-desfaseX y widget-autoPos-desfaseY presentan valores por defecto si no han sido pasados por configuración y son necesarios para el posicionamiento.

  • Si showPDF=0:


¿Qué ocurre si no encuentra la cadena?
Si la cadena de caracteres especificada no se encuentra por algún motivo se usan los parámetros X,Y por defecto del widget especificados por parámetros del JWS.
Si se encuentra la secuencia, en la consola de Java aparecería: “FOUND text for auto widget positioning”.

 

 

Nota

El posicionamiento en campo vacío de firma solo aplica al datasheet o panel del terminalista​

 En el uso de datasheet o panel del terminalista, el orden de posicionamiento en dependencia con la configuración, es el siguiente:

  1. Posicionamiento en campo vacío de firma.

  2. Posicionamiento flotante o por búsqueda de texto.

  3. Posicionamiento fijo.
 Dispositivo de captura biométrica

La firma manuscrita se puede recoger de una tableta Wacom STU o bien desde la propia pantalla del PC (dispositivos con pantalla táctil).

Estos parámetros nos permiten seleccionar el tipo de tableta con la que estamos trabajando y configurar el comportamiento del dispositivo de captura de datos biométricos.

Param Name

Valor

Valor por defecto

Comportamiento

Modo mouse

Nos permite probar la funcionalidad del JWS sin necesidad de tabletas de captura biométrica. Recabar la firma desde la pantalla de dispositivos con pantalla táctil.

mouseModeBooleano0Si se activa, la firma se recoge desde el monitor del dispositivo.No requiere tableta de firma (Wacom/Stylus).
mouseSpeedBooleano0Permite configurar la presión relativa a la velocidad.
typeTabletEntero0Tipo de dispositivo de captura biométrica:0: tabletas STU en color STU-520,STU-530.1: tabletas STU monocromo STU-430.2: Stylus (No aplica en Linux). Aplica a tabletas con SO Windows y Wacom DTU.
Min_PointsEntero100Mínimo de puntos para que se acepte la firma, si se deja a 0 acepta firmas sin puntos.Las tabletas Wacom capturan 200 puntos por segundo
max-sig-time

Entero

60

Segundos por defecto máximo para aceptación de la firma (recomendable no cambiarlo).

Empleo de plantillas EBP

Las plantillas EBP permiten definir la visualización de la tableta

ebp-activateBooleano1Activa el uso de plantilla.
ebp-use-internalBooleano0Utiliza el EBP embebido en el JWS
ebp-url  si ebp-use-internal está a 0, url de donde se coge el EBP.
showEBPBooleano11: Muestra al operador, en la pantalla del PC, lo que se está visualizando en la tableta Wacom.
noButtonEBPBooleano0si showEBP=1, elige si se muestran los botones de la plantilla EBP (0) o si se ocultan (1).Recomendado a 1 ya que los botones van en el HTML y no en el JWS.
ebp-variablesString Variables a mostrar en la plantilla EBP.ATENCIÓN: el valor de estas variables se guardan junto a la información biométrica de la firma.Es muy relevante que estos valores se asocien de forma unívoca al acto de firma (el contenido del documento).
STUBackLightEntero-1Solo para dispositivos Wacom STU.0 (mínima intensidad) a 3 (máxima intensidad).Valor por defecto -1 (no cambia el brillo).

driver430Installed

Booleano1

Parámetro por defecto a verdadero (1). Si se pone desactivado (0), se supondrá que no existen los drivers de la Wacom STU430 instalados en el ordenador local, y se usará una estrategia de inicialización especial para que no se produzcan “parpadeos”  en la inicialización de la STU430.

ebp-initial-activate

Booleano0Activar o no (por defecto) el uso de la pantalla inicial.Se trata de una pantalla que puede mostrar un texto previo a la pantalla donde se recoge la firma.

ebp-initial-url

String La url del EBP a usar para pantalla inicial, éste EBP al menos ha de contener 1 área marcada como botón aceptar. Se recomienda un botón para cancelar.

ebp-initial-variables

String

 

Las variables que se le pasan al EBP inicial, y también serán incluidas con  la información biométrica cifrada. Por ejemplo para poner un texto de LOPD.

Modo solo firma biométrica

El JWS permite realizar la firma electrónica del documento sin asociarlo a una firma manuscrita. Sería la firma electrónica convencional basada en certificado digital

Param Name

Valor

Valor por defecto

Comportamiento

jsigModeBooleano0Si se activa (1), sólo se realiza firma usando el certificado digital, desactivado (0) se usa la firma biométrica.
jsigJPG

JPEG en BASE64

 

Permite pasar un JPEG como imagen para la firma digital del PDF

Específicos de JWS

A continuación se describen los parámetros relacionados con la edición de la aplicación JWS:

Param Name

Valor

Valor por defecto

Comportamiento

jwsWidthEntero Anchura en píxeles de la ventana de la aplicación.
jwsHeightEntero Altura en píxeles de la ventana de la aplicación.
jwsTxtBtnResetString Texto en el botón de reinicio de la aplicación.
jwsTxtBtnCancelString Texto en el botón de cancelación de la aplicación.
jwsTxtBtnSgnString Texto en el botón de firma de la aplicación.
jwsBtnResetBooleano1Visibilidad de botón de reinicio de la aplicación.
jwsBtnCancelBooleano1Visibilidad de botón de cancelación de la aplicación.
jwsBtnSgnBooleano1Visibilidad de botón de firma de la aplicación.
jwsBtnResetImageString Imagen en botón de reinicio de aplicación.
jwsBtnResetImageRolloverString Imagen en botón de reinicio de aplicación (mouse over).
jwsBtnCancelImageString Imagen en botón de cancelación de la aplicación.
jwsBtnCancelImageRolloverString Imagen en botón de cancelación de la aplicación (mouse over).
jwsBtnSignImageString Imagen en botón de firma de la aplicación.
jwsBtnSignImageRolloverString Imagen en botón de firma de la aplicación (mouse over).
jwsCommentBoolean0Activación de comentarios de la aplicación.
jwsTxtLblCommentString Label de comentarios.
jwsTxtCommentString Posibles comentarios predefinidos separados por “;”.
jwsPosXEnteroCentradoCoordenada X de inicio de la aplicación en pantalla.
jwsPosYEnteroCentradoCoordenada Y de inicio de la aplicación en pantalla.
jwsForzarNumMonitorEntero0Número de monitor donde se muestra el JWS.
jwsShowBorderClose

Booleano

1

Si está activo mostrará la ventana de captura de firma con estilo “diálogo” (bordes + cruz para cerrar/cancelar ventana), sino será una ventana sin bordes.

Eventos de teclado

CTRL+carácter

jwsKeyboardAcceptEntero65 (=A)Evento de teclado en botón de aceptar firma. CTRL+carácter, donde caracter es el valor en decimal del ASCII (carácter).
jwsKeyboardCancelEntero67 (=C)Evento de teclado en botón de aceptar firma. CTRL+carácter, donde caracter es el valor en decimal del ASCII (carácter).
jwsKeyboardReset

Entero

82 (=R)

Evento de teclado en botón de aceptar firma. CTRL+carácter, donde caracter es el valor en decimal del ASCII (carácter).

Los parámetros de posicionamiento de la ventana de firma jwsPoxX y jwsPosY presentan el siguiente comportamiento:

  • Para ambas coordenadas si el valor es -1 o “center” se centra la coordenada en pantalla.
     
  • Para la coordenada X:

    • Si el valor es 9999 o “right” la ventana de firma se coloca a la derecha en pantalla.

    • Si el valor es 0 o “left” la ventana de firma se coloca a la izquierda en pantalla.

    • Cualquier otro valor significa posición absoluta de la ventana de firma establecida por el usuario.

  • Para la coordenada Y:

    • Si el valor es 9999 o “bottom” la ventana de firma se coloca en la parte inferior en pantalla.

    • Si el valor es 0 o “top” la ventana de firma se coloca en la parte superior en pantalla.

    • Cualquier otro valor significa posición absoluta de la ventana de firma establecida por el usuario.

Los parámetros de dimensión de la ventana de firma jwsWidth y jwsHeight presentan valores por defecto, que dependen del tipo de dispositivo de captura biométrica seleccionado:

  • Para STU-430: 640 x 400 (typeTablet=1).

  • Para STU-530, DTU y Stylus: 800 x 480 (typeTablet=0 ó 2).

Nota

El valor decimal del carácter para los eventos de teclado puede obtenerse en www.asciitable.com.

Ventana “Controller”

Estos parámetros controlan la aparición de una segunda ventana copia de la de captura de firma para en casos multimonitor (como las DTU) para que tanto el firmante como el controlador de la firma puedan ver y operar sobre el funcionamiento y/o aceptación de la firma:

 

Param Name

Valor

Valor por defecto

Comportamiento

jwsControllerEnableBooleano0Activa o desactiva la ventana “controller”.
jwsControllerShowBorderCloseBooleano1Si está activo mostrará la ventana controller con estilo “diálogo” (bordes + cruz para cerrar/cancelar ventana), sino será una ventana sin bordes.
jwsControllerCaptionString Título de la ventana controller. Solo aplica si jwsControllerShowBorderClose=1.
jwsControllerWidthEntero Anchura en píxeles de la ventana de la ventana controller.
jwsControllerHeightEntero Altura en píxeles de la ventana de la ventana controller.
jwsControllerTxtBtnResetStringReiniciarTexto en el botón de reinicio de la ventana controller.
jwsControllerTxtBtnCancelStringCancelarTexto en el botón de cancelación de la ventana controller.
jwsControllerTxtBtnSignStringFirmarTexto en el botón de firma de la ventana controller.
jwsControllerBtnResetBooleano1Visibilidad de botón de reinicio de la ventana controller.
jwsControllerBtnCancelBooleano1Visibilidad de botón de cancelación de la ventana controller.
jwsControllerBtnSignBooleano1Visibilidad de botón de firma de la ventana controller.
jwsControllerBtnResetImageString Imagen en botón de reinicio de la ventana controller .
jwsControllerBtnResetImageRolloverString Imagen en botón de reinicio de la ventana controller (mouse over).
jwsControllerBtnCancelImageString Imagen en botón de cancelación de la ventana controller.
jwsControllerBtnCancelImageRolloverString Imagen en botón de cancelación de la ventana controller (mouse over).
jwsControllerBtnSignImageString Imagen en botón de firma de la ventana controller.
jwsControllerBtnSignImageRolloverString Imagen en botón de firma de la ventana controller (mouse over).
jwsControllerCommentBoolean0Activación de comentarios de la ventana controller.
jwsControllerTxtLblCommentStringComentario de la firma: Label de comentarios para la ventana controller.
jwsControllerTxtCommentString Posibles comentarios para la ventana controller predefinidos separados por “;”.
jwsControllerStayOnTopBoolean0Si se activa(1) la ventana controller estará siempre visible en pantalla.
jwsControllerPosXEnteroCentradoCoordenada X de inicio de la ventana controller en pantalla.
jwsControllerPosY

Entero

Centrado

Coordenada Y de inicio de la ventana controller en pantalla.

 

Los parámetros de posicionamiento de la ventana controller de firma jwsControllerPoxX y jwsControllerPosY presentan el siguiente comportamiento:

  • Para ambas coordenadas si el valor es -1 o “center” se centra la ventana controller de firma en pantalla.

  • Para la coordenada X:

    • Si el valor es 9999 o “right” la ventana controller de firma se coloca a la derecha en pantalla.

    • Si el valor es 0 o “left” la ventana controller de firma se coloca a la izquierda en pantalla.

    • Cualquier otro valor significa posición absoluta de la ventana controller de firma establecida por el usuario.

  • Para la coordenada Y:

    • Si el valor es 9999 o “bottom” la ventana de firma controller se coloca en la parte inferior en pantalla.

    • Si el valor es 0 o “top” la ventana controller de firma se coloca en la parte superior en pantalla.

    • Cualquier otro valor significa posición absoluta de la ventana controller de firma establecida por el usuario.

Los parámetros de dimensión de la ventana de firma jwsControllerWidth y jwsControllerHeight presentan valores por defecto, que dependen del tipo de dispositivo de captura biométrica seleccionado:

  • Para STU-430: 640 x 400 (typeTablet=1).

  • Para STU-530, DTU y Stylus: 800 x 480 (typeTablet=0 ó 2).

Descarga y ejecución en local del documento firmado

A continuación se describen los parámetros relacionados con la descarga y ejecución en local del documento firmado:

Param Name

Valor

Valor por defecto

Comportamiento

saveInLocalPath

String

 

Ruta donde se guarda en local el documento pdf firmado.

saveInLocalName

String

JWS_PDF_Signed.pdf

Nombre (incluyendo la extensión .pdf) para el fichero que se va a generar/guardar en local.

executeInLocal

Booleano

0

Ejecuta o no el documento pdf con la aplicación que esté asociada para ello.

Solo aplica si showPDFSigned=0.

Descarga de JPG del grafo en local del documento firmado

A continuación se describen los parámetros relacionados con la descarga de JPG del grafo

en local del documento firmado:

Param Name

Valor

Valor por defecto

Comportamiento

saveImgInLocal

Booleano

0

Guarda el JPG del grafo del documento firmado en local.

saveImgInLocalPath

String

JWS_Img_Signature.jpg

Ruta donde se guarda en local el JPG del grafo del documento pdf firmado.

Solo aplica si saveImgInLocal=1.

saveImgInLocalName

String

0

Nombre (incluyendo la extensión .jpg) para el fichero que se va a generar/guardar en local.

Solo aplica si saveImgInLocal=1.

 

Otros parámetros

A continuación se describen otros parámetros que pueden ser relevantes.

Param Name

Valor

Valor por defecto

Comportamiento

checkInstances

Booleano

1

Detectar múltiples instancias del JWS. No deben existir varias instancias simultáneas del JWS, con este check si se encuentra una instancia previa del JWS la instancia que está comenzando a iniciarse es automáticamente parada y terminada.

disabledWMI

Booleano

0

Permite desactivar WMI, WMI consigue información del hardware del equipo firmante que incrusta en la firma. Puede desactivar la incrustación de datos WMI con disabledWMI=1.

StylusSleep

Entero

40

milisegundos usando Stylus para el procesado de puntos. NO DEBIERA SER CAMBIADO.

max_pen

Entero

5

Ancho de la línea del grafo para la presión máxima en píxeles.

time_new_t

Entero

100

Milisegundos para detectar un nuevo trazo. NO DEBIERA SER CAMBIADO.

forceCloseJava

booleano

0

Si está activado (=1) fuerza al terminar el JWS la salida de Java, previene problemas en determinados escenarios en los que la máquina virtual de Java se queda colgada.

license

String

 

OBLIGATORIO. Licencia necesaria para el correcto funcionamiento de JWS. Le será suministrada por su proveedor.

ess-log-file

String

 

Ruta del log.

 

Citrix (solo Windows)

El JWS permite su uso a través de citrix de dispositivos de recogida de firma. STU y Stylus soportados a través de canales virtuales en el ICA Client (debe instalar el .msi que le proporcionará edatalia en los clientes previamente).

Param Name

Valor

Valor por defecto

Comportamiento

useCitrixVC

Booleano

0

Activar o no el uso de canales virtuales. Si no está en un entorno Citrix no active esta opción.

CitrixVCSleep

Entero

10

milisegundos usando Citrix para el procesado de puntos. NO DEBIERA SER CAMBIADO.

CitrixVCSleepClear

Entero

1000

milisegundos usando Citrix para espera a limpiado de pantalla. NO DEBIERA SER CAMBIADO.

CitrixVCsWnd

Entero

0

Usando Citrix + Stylus, tipo de ventana de captura de firma creada en el cliente. Disponibles tipos 0,1,2,3.

CitrixVCsWnd3X

Entero

0

Si CitrixVCsWnd=3, X de la ventana de captura de firma.

CitrixVCsWnd3Y

Entero

0

Si CitrixVCsWnd=3, Y de la ventana de captura de firma.

CitrixVCsWnd3Width

Entero

0

Si CitrixVCsWnd=3, Ancho de la ventana de captura de firma.

CitrixVCsWnd3Height

Entero

0

Si CitrixVCsWnd=3, Alto de la ventana de captura de firma.

Parámetros mínimos de configuración

 

El firmado con ecoSignature JWS Desktop necesita la configuración mínima de una serie de parámetros para la realización de un proceso de firmado inicial y básico:

 

  • Si el módulo de firmado no se encuentra en la ruta del .exe de la solución parámetro path-ecoSignatureJWS.

  • Activación de log’s:

    • Parámetros log-activate, log-file y levelLog.

    • Mediante archivo de configuración log4jJWS.properties externo.

  • Parámetros generales de configuración del proceso de firma:

    • Web socket: externalWebSocket, externalWebSocket-url y portWebSocket.

    • Alerta, eventos y ayuda: showAlert, showEvents y toast.

    • Visualización de documento a firmar y firmado: showPDF y showPDFSigned.

  • Pantalla completa y zoom: fullScreen y zoom.

  • Licencia: parámetro license.

  • Paso del documento PDF a firmar seleccionado:

    • desde ruta local: parámetro remotePdf-url.

    • en Base64: parámetro Pdf-Content.

  • Parámetros relacionados con la firma: author, reason, contact y location.

  • Tipo de tableta: parámetro typeTablet.

  • Modo de firma con o sin biometría: parámetro jsigMode.

  • Tamaño de widget: parámetros widget-Ancho y widget-Alto.

  • Tipo de posicionamiento seleccionado: parámetro widget-autoPos-activate:

    • si widget-autoPos-activate=0 parámetros widget-Page, widget-X y widget-Y. (Posicionamiento fijo).

    • si widget-autoPos-activate=1 parámetros widget-autoPos-text, widget-autoPos-desfaseX y widget-autoPos-desfaseY. (Posicionamiento por texto).

  • Texto personalizado: parámetro widget-Textcustom.

  • Uso de EBP’s: parámetros ebp-activate, showEBP, ebp-use-internal, ebp-url y ebp-variables.

  • Parámetros relacionados con la ventana de firmado en el PC parámetros jwsWidth, jwsHeight, jwsPosX y jwsPosY.

  • Ejecutar en local el documento pdf firmado: parámetro executeInLocal.

 

Nota

El archivo ecoSignatureJWS.ini presenta una configuración por defecto para poder lanzar un proceso de firmado.

Visualizador de documentos

 La solución ecoSignature JWS Desktop permite la visualización tanto del documento a firmar como del documento firmado a pantalla completa o no, configurable a través de los parámetros expuestos anteriormente.

El visualizador presenta la siguiente estructura:

Se puede observar:

  • Botones de incremento/decremento de página
  • Selección manual de página.

  • Botones de incremento/decremento de zoom

  • Selección manual de zoom: presenta las siguientes escalas:

    • Tamaño real del documento.

    • Ajuste al tamaño de la página del documento.

    • Ajuste a la anchura de la página del documento.

    • Valores específicos de zoom: 50, 75, 100, 125, 150, 200, 300 y 400%.

  • Botón de lanzamiento de firma con diferente comportamiento dependiendo del tipo de posicionamiento seleccionado.

 

El visualizador presenta los siguientes eventos de teclado:

  • Zoom:

    • Zoom más: CTRL y tecla +.

    • Zoom menos: CTRL y tecla -.

    • Zoom: CTRL y ruleta del ratón.

  • Scroll de página:

    • Botón izquierdo del ratón y movimiento del ratón.

    • Ruleta del ratón.

    • En la dirección seleccionada: flechas de dirección y teclado numérico 2,4,6 y 8.

  • Carga de página del documento:

    • Primera página: tecla de inicio de documento (inicio) y tecla numérica 7.

    • Última página: tecla de fin de documento (fin) y tecla numérica 1.

    • Siguiente página: tecla de avanzar página (avpág) y tecla numérica 3.

    • Anterior página: tecla de retroceder página (repág) y tecla numérica 9.

  • Lanzamiento o finalización de firma dependiendo del comportamiento del visualizador (firmador o visor):

    • Enter o retorno de carro.

  • Salida de la aplicación: tecla escape.

  • Eliminación de modo de solución siempre visible en pantalla (Always on top):

    • CTRL+Q.

El visualizador trabaja en dos modos:

  • Firmador: permite la visualización del documento a firmar y lanzar el proceso de firmado. En un posicionamiento manual, la ventana de firma inicialmente se posiciona en el centro de la página del documento.

  • Visor: permite la visualización del documento firmado y confirma el firmado correcto del documento.

Nota

Al iniciar el visor, se visualiza el documento en la página firmada (centrado en pantalla y con el mismo zoom, siempre que se pueda, es decir, si se ha pasado anteriormente por el modo “Firmador”), en caso contrario se visualiza la primera página del documento.

Funcionamiento

Una vez configurados los diferentes parámetros de firmado en el archivo de configuración, se debe ejecutar el fichero ecoSignatureJWS_Desktop.exe en SO Windows.

A continuación se muestra el proceso general de firmado que depende de la activación o no de una serie de parámetros en el archivo de configuración.

  • Si showPDF=1 activación de visualización de documento a firmar.

El visor nos permite interactuar con el posicionamiento y el lanzamiento de la firma. Así, el usuario lanza la firma a través de un botón posicionado en la parte superior izquierda de la pantalla en la visualización del documento, que al ser pulsado, crea la ventana de firma:

    • la ventana de firma puede ser redimensionada y desplazada por la página del documento seleccionada si el posicionamiento seleccionado es manual, y al clicar sobre la ella se lanza la firma,
    • en caso contrario, no se podrá realizar ninguna acción sobre ella.

Para los posicionamientos fijo y flotante el usuario lanza la firma pulsando sobre el botón mencionado anteriormente.

IMPORTANTE: Si se ha seleccionado un posicionamiento manual, al activar el posicionamiento del widget o ventana de firma se deshabilitan los cambios de página y de zoom.

Aparición de la ventana de espera de firmado (con showEvents=1) y la ventana de introducción de firma de la aplicación ecoSignature JWS, ésta última puede mostrarse en diferentes tamaños/formatos dependiendo de los parámetros de configuración seleccionados anteriormente.

En la imagen, se muestra la ventana de espera, que permanece activa mientras se realiza el proceso de firmado, previamente configurada.

La ventana de espera de firmado muestra los eventos de firmado recibidos por parte de la aplicación ecoSignature JWS, es decir, el estado en el que se encuentra el proceso de firma en todo momento. Estos eventos son observados en el bloque de “Eventos recibidos”.

En la siguiente imagen podemos observar la ventana de introducción de firma de la aplicación:

En la ventana de introducción de firma se pueden realizar las siguientes operaciones:

    • Reiniciar: reinicio de la firma.

    • Cancelar: cancelación de la firma.

    • Firmar: firma del documento.

Los botones presentan eventos de teclado:

    • CTRL+R: reiniciar.

    • CTRL+C: cancelar

    • CTRL+A: firmar.

  • Visualización del documento firmado: una vez realizada la firma se puede observar el documento pdf firmado en la ubicación seleccionada como descarga.

Además se puede visualizar el documento pdf firmado de dos maneras:

    • Si showPDFSigned=1: se abre el documento pdf firmado con el visualizador de la solución.

    • Si executeInLocal=1: se abre el documento con la con la aplicación asociada para ello (Adobe Acrobat Reader, Foxit Reader,…).

Nota

Este último parámetro es deshabilitado si se ha activado el anterior parámetro.

Nota

Éste es el comportamiento por defecto. Se permiten configurar las teclas en el archivo de configuración por defecto.

Datasheet o Panel de Terminalista

La solución ecoSignature JWS Desktop puede presentar el funcionamiento como datasheet o panel de terminalista, es decir, se puede realizar la firma de un documento con n participantes o firmantes, gestionando dicho proceso un usuario o terminalista a través de una interface en pantalla previamente configurada.
La activación del datasheet por parte de la solución se consigue informando al menos uno de los parámetros signatures-input-xml-b64 y signatures-input-xml expuestos anteriormente en la definición del archivo de configuración general (Ver Apartado: Parámetros generales de la solución).

El archivo de parametrización de la interface del terminalista es informada en el parámetro interface-window (Ver Apartado: Parámetros generales de la solución).

El panel de terminalista presenta la siguiente estructura (por defecto):


Se puede observar los siguientes elementos:

  • Título:

    • Introducción de un texto en el panel.

    • Configurable a través del archivo de configuración de interface.

  • Listado de firmantes:

    • Siempre visible en el panel.

    • Presenta una lista con los firmantes que intervienen en el proceso de firmado definidos en el archivo de configuración XML.

Dichos firmantes pueden ser:

      • Procesables por la solución.

      • Externos a la solución, solo se visualizan en la lista de firmantes.

    • Configurable a través del archivo de configuración de interface.

  • Visor de documento a firmar: 

    • Presenta el documento a firmar definido en el archivo de configuración XML.

    • Visualización del documento a página completa.

    • Se actualiza el documento tras la aceptación de las diferentes firmas.

    • Configurable a través del archivo de configuración de interface.

  • Imágenes:

    • Visualización de imágenes en el panel definidas en el archivo de configuración XML.

    • Relacionadas con cada ítem del listado (usuario firmante) seleccionado.

    • Configurable a través del archivo de configuración de interface.

  • Botones:

    • Suprimir Operación:

      • Cancelación del proceso de firmado.

      • Configurable a través del archivo de configuración XML.

      • Cuando es pulsado se muestra un aviso preguntando si se quiere cancelar la operación.

    • Firmar en papel:

      • Impresión en papel.

      • Configurable a través del archivo de configuración XML.

      • Cuando es pulsado se muestra un aviso indicando que todos los firmantes deben firmar en papel preguntando si se desea continuar.

    • Ver PDF:

      • Visualiza el documento en el visor por defecto instalado en el PC.

      • Configurable a través del archivo de configuración XML.

      • Cuando es pulsado se visualiza el documento temporal presente en el panel.

    • Posponer/Terminar:

      • Posposición o finalización del proceso de firmado.

      • Configurable a través del archivo de configuración XML.

      • Siempre está visible y habilitado en el panel una vez que todos los firmantes han firmado.

Cuando un usuario ha firmado se representa en el panel con el siguiente icono:

Cuando un usuario debe firmar obligatoriamente se representa en el panel con el siguiente icono: 

 

El panel del terminalista presenta los siguientes eventos de teclado:

  • Selección de firmante de la lista de firmantes:

    • A través de las teclas de desplazamiento de arriba y abajo.

  • Lanzamiento de firma:

    • Enter o retorno de carro.

  • Botones:

    • Suprimir Operación: SHIFT+A.

    • Firmar en papel: SHIFT+P.

    • Ver PDF: SHIFT+V.

    • Posponer/Terminar: SHIFT+F.

Éste es el comportamiento por defecto. Se permiten configurar las teclas en el archivo de configuración de la interface.

Los eventos de botones solamente están habilitados cuando el botón correspondiente es visible en el panel y está habilitado.

  • Salida de la aplicación:

    • Tecla escape.

  • Eliminación de modo de solución siempre visible en pantalla (Always on top):

    • CTRL+Q.

  • Centrado del puntero de mouse en la pantalla principal:

    • Barra espaciadora.

Este comportamiento solo aplica cuando el proceso de firmado se realiza sobre una Stylus y el modo mouse está activado. En el panel terminalista se pueden presentar ventanas de diálogos donde se muestran los errores obtenidos en un proceso de firmado.

IMPORTANTE: A tener en cuenta:

  • Se puede seleccionar un usuario firmante de la lista de firmantes con un click.

  • Se puede lanzar la firma haciendo un doble click en el usuario firmante seleccionado de la lista de firmantes.

  • Para el lanzamiento de una firma el usuario firmante seleccionado de la lista de firmantes no ha debido firmar y ser procesable por la solución (no externo).

Si se ha optado por realizar un proceso de firmado a través de un dispositivo de captura biométrica DTU, se visualiza en dicho dispositivo el documento a firmar.

En el dispositivo de captura biométrica DTU se puede realizar las siguientes funciones a través de su barra de herramientas (parte inferior de la pantalla):

  • Lanzamiento de firma o finalización de proceso de firmado:

    • Configurable a través del archivo de configuración de interface.

  • Navegación por las diferentes páginas del documento a firmar:

  • Zoom del documento a firmar:

    • Configurable a través del archivo de configuración de interface.

El valor mínimo de zoom siempre es el ajuste de página. El valor máximo de zoom siempre es dos veces el ancho de página.

IMPORTANTE: Para comprobar el funcionamiento del datasheet o panel del terminalista, basta con sustituir el fichero datasheet/ecoSignatureJWS.ini por el de la raíz. Para probar con un dispositivo u otro modificar el parámetro signatures-input-xml de dicho fichero.

 

Fichero de configuración Interface

El fichero de configuración de interface del terminalista es informado a través del parámetro interface-window en el archivo de configuración general.
 

Para comprobar el funcionamiento del datasheet o panel del terminalista, basta con sustituir el fichero datasheet/ecoSignatureJWS.ini por el de la raíz. Para probar con un dispositivo u otro modificar el parámetro signatures-input-xml de dicho fichero.


Si el parámetro interface-window no es informado en el archivo de configuración general, la interface se genera con unos valores por defecto.

El fichero de configuración de interface debe estar codificado en UTF-8 y presentar la siguiente estructura:

paramName1=value1 
paramName2=value2
….
….
paramNameN=valueN

 

Nota

Se debe informar un parámetro por línea

Para parámetros relacionados con el color, es decir, parámetros con -background, -foreground y -border-color el valor debe ser “#RRGGBB” siendo RGB un número hexadecimal. Para parámetros booleanos, usar “1” para activar y “0” para desactivar. Para parámetros relacionados con tamaños, es decir, parámetros con -x, -y, -width, -height y -border-thickness, el valor puede expresarse como:
  • valor entero (en pixeles):

Ejemplo:
title-x=120
title-border-thickness=3
  • en porcentaje (en relación al tamaño de la pantalla):

    Ejemplo:
    title-width=30%
    title-height=10%

Para parámetros relacionados con fuentes de texto -font:
  • Nombre de fuente -font-name: nombre de la fuente a utilizar.

  • Estilo de fuente -font-style: valor entero cuyo valor puede ser:

    • 0: PLAIN

    • 1: BOLD

    • 2: ITALIC

    • 3: BOLD+ITALIC

  • Tamaño de fuente -font-size: valor entero
 

Nota

Se debe informar un parámetro por línea

Parámetros generales

A continuación se describen los parámetros generales de la interface.

Param Name

Valor

Valor por defecto

Comportamiento

always-on-top

Booleano

0

Ficha siempre visible en pantalla..

fullscreen

Booleano

0

Visualización en modo full screen.

general-background

String

#FFFFFF

Color de fondo del panel de datasheet.

Parámetros título

Estos parámetros controlan la aparición y formato de un texto en la pantalla del terminalista.

Param Name

Valor

Valor por defecto

Comportamiento

title-activate

Booleano

1

Activar título en panel.

title-x

Entero

3%

Posición x en pantalla.

title-y

Entero

4%

Posición y en pantalla.

title-width

Entero

25%

Ancho en pantalla.

title-height

Entero

15%

Alto en pantalla.

title-border-color

String

#33E9FF

Color del borde.

title-border-thickness

Entero

0

Ancho del borde.

title-font-label

String

Firma en tableta

Texto.

title-font-name

String

Arial Black

Nombre de fuente.

title-font-style

Entero

2

Estilo de fuente.

title-font-size

Entero

34

Tamaño de fuente.

title-background

String

#FFFFFF

Color de fondo.

title-foreground

String

#E34040

Color de texto.

 

Parámetros de listado de firmantes 

Estos parámetros controlan el formato del listado de firmantes en la pantalla del terminalista.

Param Name

Valor

Valor por defecto

Comportamiento

Listado

 

list-x

Entero

2%

Posición x en pantalla.

list-y

Entero

30%

Posición y en pantalla.

list-width

Entero

25%

Ancho en pantalla.

list-height

Entero

40%

Alto en pantalla.

list-border-color

String

#33E9FF

Color del borde.

list-border-thickness

Entero

2

Ancho del borde.

list-background

String

#FFFFFF

Color de fondo.

Cabecera (head)

 

list-head-background

String

#373737

Color de fondo.

list-head-foreground

String

#FFFFFF

Color de texto.

list-head-font-name

String

Arial Black

Nombre de fuente.

list-head-font-style

Entero

1

Estilo de fuente.

list-head-font-size

Entero

14

Tamaño de fuente.

list-head-height

Entero

24

Alto.

list-head-label

String

Firmante

Texto.

Celda de listado (item)

 

list-item-height

Entero

25

Alto.

list-item-label-to-upper-case

Booleano

1

Texto en mayúsculas

list-item-font-name

String

Arial

Nombre de fuente.

list-item-font-style

Entero

0

Estilo de fuente.

list-item-font-size

Entero

12

Tamaño de fuente.

list-item-selected-background

String

#3447CE5

Color de fondo de ítem seleccionado.

list-item-selected-foreground

String

#FFFFFF

Color de texto de ítem seleccionado.

list-item-background-odd

String

#E6E6E6

Color de fondo de ítem par no seleccionado.

list-item-background-even

String

#F0F0F0

Color de fondo de ítem impar no seleccionado.

list-item-foreground

String

#000000

Color de texto de ítem no seleccionado.

list-item-signed-background

String

#BBBBBB

Color de fondo de ítem firmado.

list-item-signed-foreground

String

#FFFFFF

Color de texto de ítem firmado.

list-item-extern-background

String

#EC7063

Color de fondo de ítem externo.

list-item-extern-foreground

String

#FFFFFF

Color de texto de ítem externo.

 

Parámetros de visor de documento a firmar
Estos parámetros controlan la aparición y formato del visualizador de documento en la pantalla del terminalista.
 

Param Name

Valor

Valor por defecto

Comportamiento

pdf-activate

Booleano

1

Activar visor de documento a firmar en panel.

pdf-x

Entero

30%

Posición x en pantalla.

pdf-y

Entero

7%

Posición y en pantalla.

pdf-width

Entero

38%

Ancho en pantalla.

pdf-height

Entero

80%

Alto en pantalla.

pdf-border-color

String

#33E9FF

Color del borde.

pdf-border-thickness

Entero

2

Ancho del borde.

pdf-background

String

#EEEEEE

Color de fondo.

pdf-load-foreground

String

#FFFFFF

Color de texto en recarga de página.

pdf-load-font-name

String

Arial

Nombre de fuente en recarga de página.

pdf-load-font-style

Entero

1

Estilo de fuente en recarga de página.

pdf-load-font-size

Entero

16

Tamaño de fuente en recarga de página.

Parámetros de imágenes
Estos parámetros controlan la aparición y formato de imágenes en la pantalla del terminalista.
 

Param Name

Valor

Valor por defecto

Comportamiento

Imagen 1

 

img1-activate

Booleano

1

Activar imagen 1 en panel.

img1-x

Entero

79%

Posición x en pantalla.

img1-y

Entero

25%

Posición y en pantalla.

img1-width

Entero

120

Ancho en pantalla.

img1-height

Entero

180

Alto en pantalla.

img1-border-color

String

#33E9FF

Color del borde.

img1-border-thickness

Entero

1

Ancho del borde.

img1-background

String

#FFFFFF

Color de fondo.

Imagen 2

 

img2-activate

Booleano

1

Activar imagen 2 en panel.

img2-x

Entero

70%

Posición x en pantalla.

img2-y

Entero

55%

Posición y en pantalla.

img2-width

Entero

360

Ancho en pantalla.

img2-height

Entero

90

Alto en pantalla.

img2-border-color

String

#33E9FF

Color del borde.

img2-border-thickness

Entero

1

Ancho del borde.

img2-background

String

#FFFFFF

Color de fondo.

Parámetros de botones
Estos parámetros controlan el formato de los botones en la pantalla del terminalista.
 

Param Name

Valor

Valor por defecto

Comportamiento

Botón cancelar

Cancelar operación

button-cancel-x

Entero

2%

Posición x en pantalla.

button-cancel-y

Entero

90%

Posición y en pantalla.

button-cancel-width

Entero

14%

Ancho en pantalla.

button-cancel-height

Entero

5%

Alto en pantalla.

button-cancel-padding-top

Entero

0

Padding superior.

button-cancel-padding-left

Entero

5

Padding izquierdo.

button-cancel-padding-bottom

Entero

0

Padding inferior.

button-cancel-padding-right

Entero

0

Padding derecho.

button-cancel-label

String

Suprimir Operación

Texto en botón.

button-cancel-background

String

#F7F7F7

Color de fondo.

button-cancel-foreground

String

#000000

Color de texto.

button-cancel-font-name

String

Arial Black

Nombre de fuente.

button-cancel-font-style

Entero

1

Estilo de fuente.

button-cancel-font-size

Entero

12

Tamaño de fuente.

button-cancel-border-color

String

#33E9FF

Color del borde.

button-cancel-border-thickness

Entero

1

Ancho del borde.

button-cancel-keyboard

Entero

65 (=A)

Evento de teclado SHIFT+carácter, donde carácter es el valor en decimal del ASCII (carácter).

Botón ver PDF

Ver PDF

button-showpdf-x

Entero

86%

Posición x en pantalla.

button-showpdf-y

Entero

84%

Posición y en pantalla.

button-showpdf-width

Entero

9%

Ancho en pantalla.

button-showpdf-height

Entero

5%

Alto en pantalla.

button-showpdf-padding-top

Entero

0

Padding superior.

button-showpdf-padding-left

Entero

5

Padding izquierdo.

button-showpdf-padding-bottom

Entero

0

Padding inferior.

button-showpdf-padding-right

Entero

0

Padding derecho.

button-showpdf-label

String

Ver PDF

Texto en botón.

button-showpdf-background

String

#F7F7F7

Color de fondo.

button-showpdf-foreground

String

#000000

Color de texto.

button-showpdf-font-name

String

Arial Black

Nombre de fuente.

button-showpdf-font-style

Entero

1

Estilo de fuente.

button-showpdf-font-size

Entero

12

Tamaño de fuente.

button-showpdf-border-color

String

#33E9FF

Color del borde.

button-showpdf-border-thickness

Entero

1

Ancho del borde.

button-showpdf-keyboard

Entero

86 (=V)

Evento de teclado SHIFT+carácter, donde carácter es el valor en decimal del ASCII (carácter).

Botón firmar en papel

Firmar en papel

button-signedpaper-x

Entero

20%

Posición x en pantalla.

button-signedpaper-y

Entero

90%

Posición y en pantalla.

button-signedpaper-width

Entero

14%

Ancho en pantalla.

button-signedpaper-height

Entero

5%

Alto en pantalla.

button-signedpaper-padding-top

Entero

0

Padding superior.

button-signedpaper-padding-left

Entero

5

Padding izquierdo.

button-signedpaper-padding-bottom

Entero

0

Padding inferior.

button-signedpaper-padding-right

Entero

0

Padding derecho.

button-signedpaper-label

String

Firmar en papel

Texto en botón.

button-signedpaper-background

String

#F7F7F7

Color de fondo.

button-signedpaper-foreground

String

#000000

Color de texto.

button-signedpaper-font-name

String

Arial Black

Nombre de fuente.

button-signedpaper-font-style

Entero

1

Estilo de fuente.

button-signedpaper-font-size

Entero

12

Tamaño de fuente.

button-signedpaper-border-color

String

#33E9FF

Color del borde.

button-signedpaper-border-thickness

Entero

1

Ancho del borde.

button-signedpaper-keyboard

Entero

80 (=P)

Evento de teclado SHIFT+carácter, donde carácter es el valor en decimal del ASCII (carácter).

Botón terminar

Finalizar operación

button-finish-x

Entero

86%

Posición x en pantalla.

button-finish-y

Entero

90%

Posición y en pantalla.

button-finish-width

Entero

9%

Ancho en pantalla.

button-finish-height

Entero

5%

Alto en pantalla.

button-finish-padding-top

Entero

0

Padding superior.

button-finish-padding-left

Entero

5

Padding izquierdo.

button-finish-padding-bottom

Entero

0

Padding inferior.

button-finish-padding-right

Entero

0

Padding derecho.

button-finish-label

String

Posponer

Texto en botón.

button-finish-label-all-signatures

String

Terminar

Texto en botón cuando se han introducido todas las firmas.

button-finish-background

String

#F7F7F7

Color de fondo.

button-finish-foreground

String

#000000

Color de texto.

button-finish-font-name

String

Arial Black

Nombre de fuente.

button-finish-font-style

Entero

1

Estilo de fuente.

button-finish-font-size

Entero

12

Tamaño de fuente.

button-finish-border-color

String

#33E9FF

Color del borde.

button-finish-border-thickness

Entero

1

Ancho del borde.

button-finish-keyboard

Entero

70 (=F)

Evento de teclado SHIFT+carácter, donde carácter es el valor en decimal del ASCII (carácter).

 

 

Nota

El valor decimal del carácter para los eventos de teclado puede obtenerse en www.asciitable.com.

Parámetros de eventos
Estos parámetros controlan el comportamiento del panel del terminalista en un proceso de firmado.

Param Name

Valor

Valor por defecto

Comportamiento

list-event-first-item-not-signed-selected

Booleano

1

Seleccionar primer firmante del listado al iniciar la aplicación que no haya firmado.

list-event-just-a-signer-launch-signature

Booleano

1

Lanzar firma automáticamente al iniciar la aplicación cuando solo hay un firmante pendiente de firmar.

list-event-close-all-signatures

Booleano

0

Terminar proceso cuando se han introducido todas las firmas o han firmado todos los participantes.

button-signedpaper-event-launch-printer-default

Booleano

0

Lanzar la impresora por defecto al pulsar el botón de imprimir en papel.

buttons-selected-background

String

#B8E6FB

Color de fondo de los botones cuando son seleccionados.

 
 

 

Parámetros DTU
Estos parámetros controlan el comportamiento del dispositivo de captura biométrica DTU en un proceso de firmado si se ha optado por dicho dispositivo.
 

Param Name

Valor

Valor por defecto

Comportamiento

dtu-num-monitor

Entero

1

Número de monitor donde se encuentra la DTU.

dtu-view-zoom

String

page-width

Zoom inicial del visor de documento en la DTU.

dtu-toolbar-height

Entero

120

Tamaño en pixeles de la barra de herramientas en la DTU.

dtu-toolbar-button-action-activate

Booleano

1

Activación en la barra de herramientos del botón de acción (firmar o salir) en la DTU.

dtu-return-mouse-main-screen-keyboard

 

32 (= Barra espaciadora)

Evento de teclado carácter, donde carácter es el valor en decimal del ASCII (carácter).

En el parámetro dtu-view-zoom se permite:

  • cualquier valor entero positivo.

  • las cadenas de texto:

  • page-width: anchura de la página

    • page-fit: ajuste de página

    • page-actual: tamaño real de la página


El valor mínimo de zoom siempre es el ajuste de página.
El valor máximo de zoom siempre es dos veces el ancho de página.

Nota

El valor decimal del carácter para los eventos de teclado puede obtenerse en www.asciitable.com.

Fichero de configuración XML

 El fichero de configuración XML nos permite parametrizar el proceso de firma informando principalmente:

  • del documento a firmar.

  • de los participantes en dicho proceso.

El fichero de configuración XML debe estar codificado en UTF-8 y presentar la siguiente estructura:

<?xml version="1.0" encoding="UTF-8"?>
<Configuracion>
<General>
<param>value</param>
……...
</General>
<Firmantes>
<Firmante>
<param>value</param>
……...
</Firmante>
<Firmante>
<param>value</param>
……...
</Firmante>
……...
</Firmantes>
</Configuracion>

Tag general

​En esta sección se configura el comportamiento general del proceso de firmado. A continuación se enumeran los tag’s disponibles de configuración:
Entrada de documento:

  • <pdfB64> (String): Documento PDF a firmar en Base64.

  • <pdfUrl> (String): URL de entrada de donde se coge el documento PDF a firmar. Tiene preferencia el tag <pdfB64> sobre el <pdfUrl>.

IMPORTANTE: Para el correcto lanzamiento del proceso de firma se debe informar al menos de uno de los dos parámetros.

  • <password> (String): Contraseña de documento.

  • <certificate> (Booleano): Firma PDF Certificada (MDP) para el documento PDF de salida.

  • Guardado de documento PDF:

    • <savePDFPath> (String): Ruta donde se guarda en local el documento pdf firmado. Si está vacío, la ruta por defecto será la de temporales.

    • <savePDFName> (String): Nombre (incluyendo la extensión .pdf) para el fichero que se va a generar/guardar en local. Si no se incluye, el nombre por defecto será “PDF_Signed.pdf”.


IMPORTANTE: La ruta de guardado de PDF la componen los tag’s <savePDFPath> y <savePDFName>.


A tener en cuenta:

    • para la formación de la ruta de guardado de PDF se debe informar al menos uno de los dos parámetros.

    • si no se informa ningún parámetro se sobreescribe el fichero original.

  • <returnPDFB64> (Booleano): Devolución de PDF en Base64.
  • Guardado de XML:

    • <saveXMLPath> (String): Ruta donde se guarda en local el XML final del proceso de firma. Si está vacío, la ruta por defecto será la de temporales.

    • <saveXMLName> (String): Nombre (incluyendo la extensión .xml) para el fichero que se va a generar/guardar en local. Si no se incluye, el nombre por defecto será “XML_Signed.pdf”.


IMPORTANTE: La ruta de guardado de XML la componen los tag’s <saveXMLPath> y <saveXMLName>.


A tener en cuenta:

    • para la formación de la ruta de guardado de XML se debe informar al menos uno de los dos parámetros.

    • si no se informa ningún parámetro se sobreescribe el fichero original.

  • <returnXMLB64> (Booleano): Devolución de XML en Base64.

  • Configuración de botones:

    • <showCancelButton> (Booleano): Botón de cancelación de proceso.

    • <showViewPDFButton> (Booleano): Botón ver PDF.

    • <showSignPaperButton> (Booleano): Botón de firmar en papel.

    • <showFinishButton> (Booleano): Botón de posponer/terminar.

  • <xml-date-format-signed> (String): Formato de tag “timeStamp”. Uso de estilos de formatos o patrones proporcionados por la clase SimpleDateFormat de Java.

  • Relacionados con parámetros de configuración de la firma (parámetros JNLP).​

Nota

Para crear el tag del archivo de configuración XML en relación a los parámetros del archivo de configuración del .ini se debe realizar la siguiente transformación: parámetro JNLP param=value tag XML <param>value</param>
Ejemplo: tsp-activate=0 0

Tag Firmantes

En esta sección se configura el comportamiento de cada firmante.
Se pueden introducir n firmantes con la estructura:

<Firmante>
<param>value</param>
<param>value</param>
<param>value</param>
……...
</Firmante>

A continuación se enumeran los tag’s disponibles de configuración para cada firmante:

  • <item> (String): Literal que aparece en el listado de firmantes para cada firmante.

  • <img1B64> (String): Imagen 1 que aparece en el panel del terminalista al seleccionar un item del listado de firmantes.

  • <img2B64> (String): Imagen 2 que aparece en el panel del terminalista al seleccionar un item del listado de firmantes.

  • <signed> (Entero): Indica si el usuario firmante ha firmado.

  • <timeStamp> (String): Indica la fecha y hora en el que el usuario firmante ha firmado.

  • <idSignatory>(String): Identificador de firmante.

Debe ser único para cada firmante, por ejemplo el DNI. Si existe un usuario con más de una firma a introducir (mismo “idSignatory”), el proceso de firma no se puede posponer o finalizar hasta que el usuario haya introducido todas las firmas.

  • mandatoryToPostpone>(Booleano): Indica si la firma de un usuario es obligatoria para posponer o finalizar el proceso de firmado.

  • Relacionados con parámetros de configuración de la firma (parámetros JNLP). Se permiten exclusivamente los parámetros definidos en el Apartado Parámetros JNLP (Configuración de la firma) siguientes:

    • Entrada y salidas del documento PDF:

      • <widget-Textcustom>

 

      • <author>
    •  
      • <reason>
    •  
      • <contact>
    •  
      • <location>

 

    • Certificados de firma y cifrado:

      • <cert-origin>

 

      • <cert-origin-ca>
    •  
      • <pfx-b64>
    •  
      • <pfx-url>
    •  
      • <pfx-pw>
    •  
      • <Chain-CA-b64>
    •  
      • <enc-key-b64>
    •  
      • <tsp-activate>
    •  
      • <tsp-url>
    •  
      • <tsp-user>
    •  
      • <tsp-password>
    •  
      • <ocsp-activate>
    •  
      • <ocsp-url>
    •  
      • <ocsp-user>
    •  
      • <ocsp-password>  

 

    • Ubicación del área de firma en el documento:

      • <widget-Ancho>

 

      • <widget-Alto>
    •  
      • <widget-Page>
    •  
      • <widget-X>
    •  
      • <widget-Y>
    •  
      • <widget-Transparent-activate>
    •  
      • <widget-autoPos-activate>
    •  
      • <widget-autoPos-text>
    •  
      • <widget-autoPos-desfaseX>
    •  
      • <widget-autoPos-desfaseY>
    •  
      • <PDFEmptySig_enable>
    •  
      • <PDFEmptySig_fieldname>
    • Dispositivo de captura biométrica:

      • <ebp-activate>

 

      • <ebp-use-internal>
    •  
      • <ebp-url>
    •  
      • <showEBP>
    •  
      • <noButtonEBP>
    •  
      • <ebp-variables>
    •  
      • <ebp-initial-activate>
    •  
      • <ebp-initial-url>
    •  
      • <ebp-initial-variables>

 

    • Modo solo firma biometría:

      • <jsigMode>

 

      • <jsigJPG>

 

    • Para pasar variables a las plantillas o ebp’s se dispone de los tag’s <ebp-initial-textos> y <ebp-textos>con la siguiente estructura:

      • Plantilla o ebp inicial:

 <ebp-initial-textos>
<nombreVariable>valorVariable</nombreVariable>
<nombreVariable>valorVariable</nombreVariable>
.....
.....
</ebp-initial-textos>

 

    • Plantilla o ebp de introducción de firma:
 <ebp-textos>
<nombreVariable>valorVariable</nombreVariable>
<nombreVariable>valorVariable</nombreVariable>
.....
.....
</ebp-textos>

Para los tags <ebp-textos> y <ebp-initial-textos>, se pueden añadir n tags hijos con la estructura valorVariable donde el nombreVariable debe coincidir con alguna de las variables definidas en los ebp’s o plantillas.
Si se informan estas tags es necesario ponerlos como última parte de cada firmante, ya que el xml se procesa secuencialmente de principio a fin y se ha podido introducir en un firmante parámetros jnlp relacionados con los ebp’s.

Generación de parametrización de firma

Los parámetros JNLP expuestos a lo largo del documento son los que parametrizan un proceso de firmado.
Estos parámetros pueden informarse en el fichero de configuración por defecto ecoSignatureJWS.ini o en el archivo de configuración XML del panel del terminalista.

Así podemos definir una configuración de firma en tres niveles:

  • Nivel 0 o configuración general, a través del fichero de configuración por defecto ecoSignatureJWS.ini.
  • Nivel 1 o configuración específica de firma, a través del fichero de configuración XML del panel del terminalista en el tag <General>.
  • Nivel 2 o configuración particular de firma (para cada firmante), a través del fichero de configuración XML del panel del terminalista en el tag <Firmante>.

A continuación se detalla el proceso de obtención de la parametrización resultante a partir de estos tres niveles:

  1. Se parte de la base de la configuración de nivel 0, es decir, de las parametrizaciones obtenidas del fichero de configuración por defecto ecoSignatureJWS.ini.
  2. Se sobrescribe o se complementa la parametrización general con la parametrización específica de la firma configurada en el fichero de configuración XML del panel del terminalista en el tag <General>.
  3. Se sobrescribe o se complementa la parametrización resultante de las parametrizaciones general y específica con la parametrización particular de la firma (para cada firmante) configurada en el fichero de configuración XML del panel del terminalista en el tag <Firmante>.

Llamada externa

La solución ecoSignature JWS Desktop puede ser llamada externamente desde consola o una aplicación tercera siguiendo el patrón:

ecoSignatureJWS_Desktop[.exe] argumento1 argumento2 ….  argumentoN

Los argumentos son opcionales y pueden presentarse n argumentos, éstos pueden ser:

La ruta absoluta de un nuevo fichero de configuración que contiene n parámetros de configuración precedido por “ini=”. (Ver Apartado Fichero de configuración).

Ejemplo:

ecoSignatureJWS_Desktop[.exe] ini=nuevaConfiguracion.ini

Cualquier parámetro de configuración como argumento definido anteriormente   (Ver Apartado Parámetros de configuración) siguiendo la siguiente estructura:

paramName=value

Ejemplo:

ecoSignatureJWS_Desktop[.exe] widget-Page=1 widget-X=300 widget-Y=175
 

 

Nota

Recordar que la solución ecoSignature JWS Desktop dispone de un fichero de configuración por defecto (ecoSignatureJWS.ini), que es leído y cargado al lanzar la solución.​

Nota

Si desde la llamada externa se informa de un nuevo fichero de configuración, éste es leído y cargado en la solución, sobreescribiendo o complementando al fichero de configuración por defecto. De la misma manera sucede con los argumentos pasados en la llamada, se procesan en el orden introducidos siempre de derecha a izquierda. Los parámetros relacionados con el datasheet o panel del terminalista son los últimos en procesarse, independientemente del orden introducidos.

IMPORTANTE: A tener en cuenta:

  • Si se necesita pasar un espacio en blanco en algún argumento:

    • Windows:

      • se debe reemplazar éste por la secuencia %20:

ebp-variables=Titulo=Solicitud%20de%20Informe
      • poner el argumento entre comillas dobles:

“ebp-variables=Titulo=Solicitud de Informe”
    • Linux:

      • se debe reemplazar éste por la secuencia %20:

ebp-variables=Titulo=Solicitud%20de%20Informe
      • escapar con el caracter \:

ebp-variables=Titulo=Solicitud\ de\ Informe
      • poner el argumento entre comillas simples:

‘ebp-variables=Titulo=Solicitud de Informe’
  • Si se necesita escapar caracteres en línea de comandos de Windows. En la línea de comandos de Windows hay ciertos caracteres que tienen un comportamiento especial: \ & ^ | > <
    Cuando se necesite escribirlos como texto simple debemos anteponer el carácter de escape ^. Entonces, cada uno de los especificados anteriormente, resultan: ^\ ^& ^^ ^| ^> ^<. También se pueden escapar poniendo el argumento entre comillas dobles.

  • Si se realiza el lanzamiento externo desde un archivo .bat (Windows) introducir como primera línea chcp 1252 (codificación a Windows 1252) y guardarlo con codificación ANSI para evitar posibles problemas de codificación en el visualizado de las plantillas o ebp’s tanto en la pantalla del PC como en la tableta.


Ejemplo:


chcp 1252
C:\ecoSignatureJWS\pecoSignatureJWS_Desktop[.exe] "ebp-variables=Titulo= LOPD Ley Orgánica de Protección de Datos|||Subtitulo=Firma de consentimiento de cesión de datos|||Nombre=Juan Rodriguez Blasco|||AreaFirma=Confirmo que los datos consignados en este formulario son ciertos y que tengo autorización bastante para la firma de esta solicitud. Acepto y firmo:|||LOPD=De acuerdo a la normativa vigente sobre LOPD, Ud. acepta que sus datos personales sean gestionados por nuestra organización para mejorar la calidad del servicio. Estos datos no serán facilitados a organizaciones fuera de nuestro grupo corporativo sin su aceptación expresa"
PAUSE

Fichero de configuración

El fichero de configuración es un argumento opcional en la llamada externa a la solución ecoSignature JWS Desktop.

Si se pasa como argumento, este fichero de texto debe estar codificado en UTF-8 y presentar la siguiente estructura:

paramName1=value1 
paramName2=value2
….
….
paramNameN=valueN

IMPORTANTE: Un parámetro por línea. Los diferentes parámetros a utilizar para la parametrización del proceso de firma se encuentran en el Apartado: Parámetros de configuración.

 

Salida de ecoSignature JWS Desktop

La solución ecoSignature JWS Desktop presenta dos salidas en su proceso que pueden ser parseadas:

  • Salida estándar del proceso donde se muestra el log interno de la aplicación.


Salida de error donde se muestra el posible error al operar con la solución.

 

Códigos de salida

La solución ecoSignature JWS Desktop devuelve una serie de códigos de respuesta a la llamada externa de la aplicación. A continuación se enumeran los posibles códigos devueltos:

  • 42: Salida de proceso de firmado correcto por posposición desde el datasheet o panel del terminalista.

  • 41: Salida de proceso de firmado por impresión de documento a firmar desde el datasheet o panel del terminalista.

  • 40: Salida de proceso de firmado correcto por finalización desde el datasheet o panel del terminalista.

  • 0: Documento firmado correctamente.

  • -1: Error al firmar documento. (Ver consola de Java, log de Java o log de la solución).

  • -2: El proceso de firma ha sido cancelado.

  • -3: Error en Web Socket.

  • -4: La solución ya se encuentra en ejecución.

  • -5: Error en configuración de parámetros antes de lanzar el proceso de firmado.

  • -6: El fichero jnlp generado para el lanzamiento de la solución excede de 1Mb.

  • -7: Error al lanzar el fichero jnlp generado.

  • -8: Sistema operativo no soportado.

  • -9: Error general de firmado.

  • -10: Error de licencia.

  • -11: No hay ningún dispositivo stylus conectado.

  • -12: Ha realizado una firma sin suficientes puntos (parámetro Min_Points).

  • -13: La introducción de la firma ha excedido su tiempo máximo (parámetro max-sig-time).

  • -14: No hay tableta wacom conectada.

  • -15: Ya existe una ventana de firma mostrándose en el lado cliente.

  • -16: No hay certificado de firma en Windows disponible.

  • -17: No se ha podido acceder a la llave privada del certificado de Windows.

  • -20: No se ha encontrado el fichero de firma ecobiometric.jar en la ruta indicada.

  • -30: El proceso de firma ha sido cancelado desde el visualizador.

  • -40: El proceso de firma se ha cancelado desde el datasheet o panel de terminalista.

  • -41: Error en lectura de fichero de configuración XML de datasheet o panel del terminalista.

  • -42: Error de configuración de fichero de configuración XML de datasheet o panel del terminalista.

  • -43: Error general en procesamiento del fichero de configuración XML de datasheet o panel del terminalista.

  • -44: Error específico en procesamiento del fichero de configuración XML de datasheet o panel del terminalista.

  • -45: Error de salida forzada de datasheet o panel del terminalista.

Nota

IMPORTANTE: Los códigos de error (valores negativos de salida) son devueltos en la salida de error del proceso.​

Nota

En base 64 la limitación la impone la tecnología JNLP (Java Network Launching Protocol) y es de 1Mb para el fichero generado. (Tamaño del pdf binario aproximadamente de tamaño máximo de 750Kb).​

Lanzamiento desde ecoSignature Launch from PC

La solución ecoSignature JWS Desktop puede ser lanzada desde la solución ecoSignature Launch from PC. En este tipo de lanzamiento se debe tener en cuenta que la configuración presente en el archivo de configuración por defecto (ecoSignatureJWS.ini) es sobreescrita o complementada por la llamada externa realizada por la solución ecoSignature Launch from PC:

  • Se parametriza o se sobreescribe el parámetro relacionado con la comunicación entre el cliente (Desktop) y ecoSignatureJWS, la comunicación se realiza a través de un Web Socket externalWebSocket y externalWebSocket-url.

  • Se desactiva o sobreescribe el parámetro relacionado con mostrar las alertas en la aplicación showAlert.

  • Se anulan o eliminan los valores presentes en los parámetros relacionados con el datasheet o panel del terminalista signatures-input-xml-b64 y signatures-input-xml.

  • Se parametriza o sobreescribe el parámetro relacionado con el documento a firmar remotePdf-url.

  • Se anula el parámetro relacionado con el documento a firmar en base 64 Pdf-Content.

  • Se parametrizan o se sobreescriben los parámetros relacionados con el guardado del documento a firmar saveInLocalPath y saveInLocalName.

  • En el caso de devolución de imagen del grafo en base 64 se parametrizan o se sobreescriben los parámetros relacionados con la descarga de JPG del grafo del documento firmado saveImgInLocal, saveImgInLocalPath y saveImgInLocalName.
 

Resolución de errores

Ante un problema con la solución JWS, compruebe primero el log de la solución, si está desactivado, se debe activar.

A continuación, active la consola de Java, para ello vaya al panel de configuración de Java (https://www.java.com/en/download/help/win_controlpanel.xml) y en la pestaña Avanzado active los checks de “Activar Rastreo”, “Activar Registro”, “Mostrar excepciones del ciclo de vida del applet” y “Ver consola” como en la siguiente imagen:



Ante cualquier error, se muestra una traza tanto en la consola de Java, como se generan ficheros de traza por defecto en:

  • para Windows: C:\Users\[Usuario]\AppData\LocalLow\Sun\Java\Deployment\log

  • para Linux: /home/[Usuario]/.java/deployment/log

En esa traza podría identificar los siguientes eventos:

  • Started… version_date: XXX Es la primera instrucción del JWS, hasta que ocurra ésta línea el JWS aún no estará en ejecución. Java previamente al lanzado del JWS hace comprobaciones de seguridad al JWS entre otras cosas. Si ocurre un error previamente a ésta línea compruebe con su equipo de sistemas la seguridad de Java y los certificados de seguridad de Java. Es muy importante el XXX cuando comunique con soporte un problema para que sepamos si existe una actualización disponible.

  • Start signature result: 0 Se ha terminado de configurar el dispositivo que se hubiera seleccionado y el sistema está esperando para recoger la firma biométrica

  • Response message: OK (la firma ha sido exitosa) y se ha dejado el PDF correctamente al POST que ha respondido OK

  • Exiting… El JWS ha finalizado completamente

Categoría: Errores en ESS

-1

Error general. Revise su licencia y ficheros de entrada. La traza debiera dar más información

-2

Revise su licencia

-66601

Error al cargar certificado para cifrar datos biométricos.

-66602

Error al cifrar datos biométricos.

-66603

Error al cargar datos biométricos cifrados en el API.

-66610

Error al añadir certificado firmador de PFX, no se ha encontrado, la contraseña no coincide.

-66611

Error al añadir certificado firmador de PFX, no hay llave privada disponible.

-66612

Se ha especificado validar el certificado firmante y éste no es válido por el motivo que sea, ocsp, expirado, etc…

-66600

Error al cargar la imagen jpeg en memoria.

-66700+X

Error al FIRMAR EL PDF. No ha servido para nada, no se ha generado fichero.

Res es un valor negativo también, es el resultado de llamar a la función de firmar un pdf, así que por ejemplo puede dar un -66701 que sería error general al firmar el pdf.

 

  • Share: