Versión 3.2.0

Transcripción

Versión 3.2.0
Tabla de contenido
1. Introducción
i. Control de cambios
2. Requisitos
3. Servicios externos
4. Kit de instalación
5. Base de datos
6. Instalación
i. Actualización del backend
ii. Actualización de licencia
7. Configuración
i. documents.xml
ii. config.properties
iii. Certificado de firma
i. Generar CSR
8. Primer acceso
9. Histórico de cambios y versiones
i. Backend
i. Cambios de configuración
ii. App iOS
iii. App Android
10. Glosario
1
Manual de instalación
Información dirigida a perfiles técnicos y con solvencia en la instalación y despliegues de aplicaciones JEE.
Si lo desea puede descargar este manual en pdf aquí.
Kit de Instalación
Guía de configuración
1. Crear y configurar las aplicaciones Documents iOS y Documents Android en documents
2. Asignar plantillas de ejemplo a nuestro usuario en documents
3. Instalar las aplicaciones en los dispositivos móviles, configurarla para acceder a nuestro backend y probar las
aplicaciones.
Introducción
2
Control de cambios
Esta documentación técnica está sujeta a modificaciones diarias, y alguna información o configuración avanzada podría
no estar reflejada. Consulte en cualquier caso con el equipo de soporte técnico.
Revisión
Fecha
Actualización
12-julio-2016
Últimas versiones liberadas
Servicios
Versión
Backend
3.2.7
App iOS
3.2.2
App Android
3.2.1
DB Documents (backend)
0.0.63
Biometric signature verifier
1.4.1
Últimos cambios
Fecha
Cambio
19-may-16
Versión inicial del manual de instalación
27-may-16
Actualización del proveedor de Java
30-jun-16
Añadidos apartados Actualización del backend e Histórico de cambios
04-jul-16
Añadida versión 3.2.6
11-jul-16
Añadida versión 3.2.7
12-jul-16
Nuevo capítulo 5.2 Actualización de licencia.
Controldecambios
3
Requisitos
¿Qué voy a necesitar para la instalación?
Servidor de aplicaciones JEE Tomcat 7.
Java 1.7.x de Oracle.
Base de Datos (Oracle o Postgre).
¿Qué dimensionamiento le dedico?
Se tomará como ejemplo una instalación en un mismo servidor de aplicaciones. En caso de optar por una instalación
en varios servidores, o instalación en clúster, consultar con el soporte técnico de viafirma las opciones recomendadas
para cada caso.
RAM: 8GB
Micro: recomendado, 2 micros de 6 núcleos cada uno; a 2Ghz.
Disco: 20 GB (1)
Logs: estimado 1GB por cada millón de operaciones (1)
Custodia: variable según peso y número de documentos firmados. Estimado inicial 20 GB.
Logs de auditoría: estimado 1GB por cada millón de operaciones. Estimado incial 20 GB.
(1): los logs incluyen configuración de rotación, por lo que la optimización de estos logs podrá definirse por el
administrador del sistema en función a las políticas de espacio en disco deseadas.
Requisitos de la máquina
Es necesario que la máquina en la que se va a desplegar viafirma documents tenga el locale es_ES.UTF-8, para evitar
problemas de encoding.
Por ejemplo en ubuntu sería:
$apt-get install language-pack-es-base
$update-locale LANG=es_ES.UTF-8
Requisitos
4
Servicios externos
¿Qué servicios externos voy a necesitar?
Un certificado digital para la firma de documentos
Una clave pública para el cifrado de datos biométricos
Servicio de timestamping RFC3161 (ofrecido por una TSA - Timestamping Authority)
Servidor SMTP para el envío de correos.
Restricción de Conexiones Externas
Salidas con proxies
Si se va a necesitar salir por un proxy, es necesario informar los datos de conexión para inlcuirlos en la configuración
específica de conexión de cada componente.
Es importante detectar antes de la instalación si existen mecanismos internos que puedan alterar las cabeceras http en
las comunicaciones de red, pues el sistema implementa varios mecanismos de securización y autenticación, como
OAuth, sensible a este tipo de comportamiento y que haría inviable la instalación del servicio.
Validación de Certificados Digitales
Se necesita verificar las fuentes de validación de las Entidades de Certificación (CA - Certificate Authority) que hayan
emitido los certificados con los que se va a trabajar.
Sólo en el caso de que el servidor no tenga libre salida a internet, habrá que autorizar específicamente la lista de
fuentes de validación que se deseen, como mínimo, al servicio OCSP, CRL o endpoint en el que poder verficar el root
ca. Por ejemplo:
http://ocsp.gse.com.co
http://crl.gse.com.co/crl_sub001_ac_gse.crl
http://crl1.gse.com.co/crl_sub001_ac_gse.crl
http://certs.gse.com.co/sub/crt_sub01_ac_gse.crt
Autoridad de Tiempo (TSA)
Viafirma documents necesita consumir los servicios de tiempo con las TSA contratadas o autorizadas por el cliente.
Sólo en el caso de que el servidor donde esté instalado viafirma documents no tenga libre salida a internet, habrá que
autorizar específicamente la lista de autoridades de tiempo que se deseen. Por ejemplo:
http://tsu2.camerfirma.com:8884/tsc
Serviciosexternos
5
Validación de Licencia
En el arranque del servidor se realiza una comprobación remota de la validez de la licencia instalada. Para ello es
necesaria tener salida a las siguientes URLs:
https://services.viafirma.com/licensemanager/
Proveedores de Notificaciones Push
Se consumirán las APIs de los dos proveedores de notificaciones push, Google y Apple, para lo que hay que autorizar
las siguientes salidas:
Google Cloud Messaging (GCM) (1)
https://android.googleapis.com/gcm/send
Apple Push Notificaction (APN) (2)
Producción: gateway.push.apple.com, port 2195
Desarrollo (sandbox): gateway.sandbox.push.apple.com, port 2195
(1) Documentación oficial de google: http://developer.android.com/google/gcm/http.html
(2) Documentación oficial de apple:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/
CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW1
Serviciosexternos
6
Kit de instalación
Se hará entrega de un kit de instalación con los siguientes recursos:
documents.war
documents.xml
documents-home
config.properties
logback.xml
hazelcast.xml
cacerts.jks
trusted_cacerts.jks
sql
oracle
00_services_clear.sql
01_services_tablas.sql
02_services_secuence.sql
04_services_insert.sql
05_services_indexes.sql
06_services_views.sql
postgres
00_services_clear.sql
01_services_tablas.sql
02_services_constraints.sql
03_services_secuence.sql
04_services_insert.sql
05_services_indexes.sql
06_services_views.sql
documents_es.pdf
ojdbc6.jar Driver de oracle
postgresql-9.3-1102.jdbc41.jar Driver de postgresql
Adicionalmente se hará entrega de la licencia de la aplicación.
Kitdeinstalación
7
Base de datos
Tablas
Nombre de la tabla
Descripción
Tamaño aprox.
CONFIGURATION
Configuración de la aplicación
< 1MB
ROLE_USER_APP
Relación de usuarios y roles. Al menos un
registro por cada usuario.
< 1MB
USER_APP_GROUP
Relación de usuarios y grupos. Dependerá del
empleo de grupos.
< 1MB
USER_APP_TEMPLATE
Relación de usuarios y plantillas.
< 1MB
VD_APLICATION
Aplicaciones
< 1MB
VD_COORDINATES
Coordinada de los mensajes. Dependerá del
número de mensajes.
1MB por cada 10.000
mensajes
VD_DEVICE
Dispositivos
1MB por cada 1.000
dispositivos
VD_GROUP
Grupos
< 1MB
VD_MESSAGE
Mensajes
1MB por cada 500
mensajes
VD_MESSAGE_AUDITORY
Auditoría de mensajes
1MB por cada 1000
mensajes
VD_ROLE
Roles
< 1MB
VD_ROLE_ACTION
Acciones de cada rol
< 1MB
VD_TEMPLATE
Plantillas
1MB por cada 10
plantillas. El número de
plantillas suele ser
reducido.
VD_TEMPORAL_DATA
Tabla temporal para el almacenamiento de pdf e
imagenes para componer el documento firmado.
1 MB por cada 10
registros.
VD_TOKEN
Tokens de los usuarios
< 1MB
VD_TRANSFER_JOB
Tranferencia de mensajes. Sólo se emplea en
entornos con transferencia personalizada de
mensajes. Requiere un desarrollo a medida
1MB cada 3.000
registros
VD_USER_APP
Usuarios
1MB por cada 2.000
usuarios
¿Qué tablas son paramétricas y cuáles transaccionales?
Paramétricas:
Basededatos
8
CONFIGURATION
VD_APLICATION
VD_COORDINATES
VD_GROUP
VD_ROLE
VD_ROLE_ACTION
VD_SCHEDULED_TASK
VD_TEMPLATE
VD_USER_APP
Transaccionales:
ROLE_USER_APP
USER_APP_APLICATION
USER_APP_GROUP
USER_APP_TEMPLATE
VD_DEVICE
VD_MESSAGE
VD_MESSAGE_AUDITORY
VD_NOTIFICATION
VD_PROPERTY
VD_TEMPORAL_DATA
VD_TOKEN
VD_TRANSFER_JOB
¿Qué tablas tienen una mayor carga de trabajo?
Las tablas que tienen una mayor carga de trabajo (insert, update) son:
VD_COORDINATES
VD_DEVICE
VD_MESSAGE
VD_MESSAGE_AUDITORY
VD_TEMPORAL_DATA
VD_TOKEN
VD_USER_APP
Basededatos
9
Instalación
1. Crear esquemas de base de datos y ejecutar los scripts correspondientes a la base de datos empleada.
2. Descargar tomcat
3. Modificar Catalina.sh en el tomcat
CATALINA_OPTS="-Dfile.encoding=UTF-8-Dcom.sun.management.jmxremote
-Djava.awt.headless=true-Xmx1512M-server-Xms512M-XX:NewSize=128m
-XX:MaxNewSize=256m-XX:SurvivorRatio=5-XX:TargetSurvivorRatio=30
-XX:PermSize=128m-XX:MaxPermSize=256m-Xincgc-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing-XX:+CMSParallelRemarkEnabled-XX:+UseParNewGC
-XX:+UseTLAB-XX:+CMSPermGenSweepingEnabled-XX:+CMSClassUnloadingEnabled
-Dsun.jnu.encoding=ISO-8859-15-Djava.net.preferIPv4Stack=true"
CATALINA_PID=/tmp/tomcat.pid
4. Configurar los accesos a base de datos y el directorio del DOCUMENTS_HOME en el fichero documents.xml.
5. Copiar el fichero documents.xml modificado en el punto anterior al directorio conf/Catalina/localhost del tomcat.
6. Crear la carpeta definida en la variable DOCUMENTS_HOME del contexto.
7. Copiar en la carpeta DOCUMENTS_HOME el contenido de la carpeta documents-home del kit de instalación.
8. Configurar los ficheros config.properties, logback.xml y hazelcast.xml con los valores correspondientes a nuestra
instalación.
9. Copiar el driver correspondiente a la base de datos seleccionada a la carpeta lib del tomcat.
10. Copiar documents.war al directorio webapp de tomcat
11. Iniciar tomcat y acceder a la aplicación desde http://localhost:8080/documents
12. La primera vez que accederemos la aplicación detectará que no tiene instalada una licencia valida por lo que
redirigirá a la url http://localhost:8080/documents/license donde se debe incorporar la licencia suministrada.
Entornos con SSL
Para entornos con SSL se recomienda la activación de preservación de la url de usuario.
Por ejemplo en apache:
proxypreserverhostson
Instalación
10
Procedimiento de actualización
El proceso de actualización del backend se compone de 3 pasos:
Actualización de la base de datos
Actualización de la configuración
Despliegue del nuevo war
Actualización de la base de datos
Cada versión del backend va asociada a una versión de la base de datos concreta. Puede consultar las versiones de
base de datos asociadas a las diferentes versiones del backend en el histórico de versiones del backend.
Para actualizar de una versión a otra del backend con diferentes versiones de la base de datos, será necesario ejecutar
todos los scripts intermedios.
Así por ejemplo para actualizar de una versión 3.0.2 del backend (que tiene versión 0.0.57 de la base de datos) a la
versión 3.2.0 (que tiene versión 0.0.62 de la base de datos) deberan ejecutarse los scripts de actualización
correspondientes de las versiones:
upgrade_0.0.57_to_0.0.58.sql
upgrade_0.0.58_to_0.0.59.sql
upgrade_0.0.59_to_0.0.60.sql
upgrade_0.0.60_to_0.0.61.sql
upgrade_0.0.61_to_0.0.62.sql
Los scripts de actualización serán proporcionados por su proveedor al que deberá indicar la versión actual del backend,
la nueva versión y el proveedor de base de datos (oracle o postgresql).
Actualización de la configuración
Cada versión del backend puede tener o no asociados cambios de configuración. Los cuales puede consultarlos en el
histórico de cambios de configuración del backend.
Para actualizar de una versión a otra del backend será necesario ejecutar todos los cambios de configuración
intermedios.
Así por ejemplo para actualizar de una versión 3.0.2 del backend a la versión 3.2.0 serán necesarios realizar los
cambios de configuración asociados a las versión 3.1.3.
Externalizar los ficheros de configuración (config.properties, hazelcast.xml y logback.xml) a la carpeta definida
como DOCUMENTS_HOME en el contexto.
Actualizacióndelbackend
11
Despliegue del nuevo war
Copiar documents.war al directorio webapp de tomcat.
Actualizacióndelbackend
12
Actualización de Licencia
Para actualizar una licencia existente acceder al siguiente recurso:
http://<documents-home>/documents/license
El acceso se debe hacer con un usuario con perfil súper-administrador, y se podrá incluir la nueva licencia recibida.
Actualizacióndelicencia
13
Configuración
Ficheros de configuración:
documents.xml
config.properties
logback.xml
hazelcast.xml
Configuración
14
documents.xml
En este fichero se configurará el acceso a base de datos, CDI (Context And Dependency Injection) y la ruta física de la
carpeta documents-home.
Base de datos
Ejemplo oracle:
<Resourceauth="Container"driverClassName="oracle.jdbc.driver.OracleDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"maxActive="100"
maxIdle="30"maxWait="10000"name="jdbc/default_manager"
type="javax.sql.DataSource"url="jdbc:oracle:thin:@localhost:1521:ORCL"
username="documents"password="xxxxxxx"/>
Ejemplo postgresql
<Resourceauth="Container"driverClassName="org.postgresql.Driver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"maxActive="100"
maxIdle="30"maxWait="10000"name="jdbc/default_manager"
type="javax.sql.DataSource"url="jdbc:postgresql://localhost:5432/documents"
username="documents"password="xxxxxxx"/>
CDI (Context And Dependency Injection)
<Resourceauth="Container"description="RequiredforCDIinTomcat"
factory="org.jboss.weld.resources.ManagerObjectFactory"name="BeanManager"
type="javax.enterprise.inject.spi.BeanManager"/>
Documents-home
Es necesario definir una carpeta sobre la cual la aplicación debe tener permisos de lectura y escritura. En esta carpeta
es donde deben ubicarse los ficheros de configuración config.properties, logback.xml y hazelcast.xml. Además en ella
se ubicarán los ficheros de custodia y auditoria.
Para entornos montados sobre un clúster será necesario que esta carpeta sea accesible desde todas las máquinas.
<Environmentdescription="Documentshome"name="DOCUMENTS_HOME"
override="false"type="java.lang.String"value="/home/viafirma/documents-home"/>
documents.xml
15
documents.xml
16
config.properties
Este es el fichero de configuración propio de la aplicación. A continuación se definirán las diferentes opciones de
configuración:
URL_PROTOCOL
Indica el protocolo de la url de la aplicación. Los posibles valores son http o https.
Obligatorio
AUTHENTICATOR_CHAIN
Implementación del sistema de control de acceso utilizado.
No obligatorio
Valor por defecto: com.viafirma.mobile.services.security.DatabaseAuthenticator
MAIL_HOST_NAME
Host del servidor de correo electrónico
Obligatorio
MAIL_SMTP_USER
Usuario del servidor de correo electrónico
Obligatorio
MAIL_SMTP_PASS
Contraseña del servidor de correo electrónico
Obligatorio
MAIL_FROM
Remitente de los correos
Obligatorio
MAIL_SSL
Indica si la conexión con el servidor de correo electrónico es mediante SSL. Los posibles valores son true o false
No obligatorio
Valor por defecto: false
CREATE_TEMPLATE_EXAMPLES
Creación de plantillas de ejemplo. Los posibles valores son true o false.
No obligatorio
config.properties
17
Valor por defecto: false
REPOSITORIO_IMPL
Implementación del sistema de gestión de ficheros disponible.
No obligatorio
Valor por defecto: org.hanuman.framework.external.repository.ManagerFileRepositorySimpleImpl
OAUTH_REQUEST_MAX_AGE
Tiempo en milisegundos, si se supera esta diferencia de tiempo entre la hora de la petición y la hora del servidor se
rechaza la petición a la capa de servicios REST. Toma el valor 0 en caso de no querer aplicar esta restricción.
No obligatorio
Valor por defecto: 0
OAUTH_EXPIRE_TOKEN_MINUTES
Tiempo en minutos que indica la caducidad de tokens de acceso al API, un token caduca cuando pasan los
minutos indicados en esta variable sin ningún acceso al API REST.
No obligatorio
Valor por defecto: 10080
SYSTEM_STATUS_ERROR_THREAD_TIMER_DELAY
Tiempo en milisegundos que indica el tiempo de demora desde el inicio del sistema, con el que se empieza a
comprobar el estado del sistema.
No obligatorio
Valor por defecto: 600000
SYSTEM_STATUS_ERROR_THREAD_TIMER_PERIOD
Tiempo en milisegundos que indica cada cuanto tiempo se comprueba el estado del sistema.
No obligatorio
Valor por defecto: 600000
TRUSTED_JKS_PATH
Acceso al KeyStore que contiene las claves públicas de las CA en las que confia la plataforma.
Obligatorio
TRUSTED_JKS_PASSWORD
Contraseña del KeyStore que contiene las claves públicas de las CA en las que confia la plataforma.
Obligatorio
SIGNATURE_JKS_PATH
Acceso al KeyStore que contiene los certificados utilizados por la plataforma para la firma de documentos,
config.properties
18
evidencias o cifrado de datos.
Obligatorio
SIGNATURE_JKS_PASSWORD
Contraseña del KeyStore que contiene los certificados utilizados por la plataforma para la firma de documentos,
evidencias o cifrado de datos.
Obligatorio
DEFAULT_CUSTODY_CODE
Código de cutodia de documentos firmados.
No obligatorio desde la versión 3.2.0.
Valor por defecto: CKRD
DEFAULT_ENCRYPTION_KEY_ALIAS
Alias de la clave pública de cifrado de datos biométricos existente en KeyStore de firma.
Obligatorio
DEFAULT_CERTIFICATE_ALIAS
Alias del certificado utilizado por defecto para firmar los xml de las evidencias y los documentos pdf generados por
el sistema.
Obligatorio
DEFAULT_CERTIFICATE_PASS
Contraseña del certificado utilizado por defecto para firmar los xml de las evidencias y los documentos pdf
generados por el sistema.
Obligatorio
TSA_URL
URL de acceso al servicio de sellos de tiempo TSA.
No obligatorio
TSA_USER
Clave de acceso al servicio de sellos de tiempo TSA.
No obligatorio
TSA_USER_PASSWORD
Clave de acceso al servicio de sellos de tiempo.
No obligatorio
Para versiones superiores a la 3.2.6 es reemplazado por la variable TSA_PASS
config.properties
19
TSA_ALIAS
Alias del certificado utilizado para acceso al servicio de sellos de tiempo TSA. Este certificado debe estar incluido
en el fichero cacert definido en la variable SIGNATURE_JKS_PATH
No obligatorio. Solo para entornos con TSA securizados mediante certificado.
TSA_PASS
Contraseña para el acceso al servicio de sellos de tiempo TSA. Dependiendo del tipo de conexión puede ser la
contraseña para accesos con usuario/contraseña o la contraseña del certificado para accesos mediante certificado.
No obligatorio
config.properties
20
Certificados
Viafirma documents hace uso de las claves privadas de los siguientes certificados.
Certificado de firma.
Certificado para la TSA (Opcional).
Además hace uso de las siguientes claves públicas
Clave pública del certificado del tercero de confianza para la encriptación de los datos biométricos de las firmas.
Claves públicas de las CA de los certificados de firma y de TSA.
¿Dónde se almacena cada uno de los certificados?
Viafirma documents tiene dos almacenes de certificados.
El primero de ellos, al que denominaremos SIGNATURE_JKS, incluye los certificados empleados en los procesos de
firma y encriptación:
Certificado de firma.
Certificado para la TSA.
Clave pública del certificado del tercero de confianza para la encriptación de los datos biométricos de las firmas.
La ubicación de este almacen viene definida enla variable SIGNATURE_JKS_PATH.
El segundo de ellos, al que denominaremos TRUSTED_JKS, incluye las claves públicas de las CA de los certificados
de firma y de TSA.
La ubicación de este almacen viene definida en la variable TRUSTED_JKS_PATH.
Configuración del SIGNATURE_JKS
Las variables de configuración asociadas al mismo son:
SIGNATURE_JKS_PATH: Ruta física del almacén de certificados empleados para la firma y encriptación.
SIGNATURE_JKS_PASSWORD: Contraseña del almacén de certificados empleados para la firma y encriptación.
DEFAULT_ENCRYPTION_KEY_ALIAS: Alias de la clave pública del certificado empleado para la encriptación de
los datos de las firmas biométricas.
DEFAULT_CERTIFICATE_ALIAS: Alias del certificado utilizado por defecto para firmar los xml de las evidencias y
los documentos pdf generados por el sistema.
DEFAULT_CERTIFICATE_PASS: Contraseña del certificado anterior.
TSA_ALIAS: Alias del certificado utilizado para acceso al servicio de sellos de tiempo TSA.
TSA_PASS: Contraseña del certificado anterior.
Certificadodefirma
21
Certificadodefirma
22
Generación de csr para enviárselo a una CA
Veamos los pasos a realizar para generar el csr para la creación del certificado.
1. Solicitar los datos del DNAME que necesitaremos para generar el csr. También sería conveniente pedir el alias del
certificado que se va a generar. La CA nos proporcionará los siguientes datos:
CN
SN
O
OU
E
ST
C
Validez
Longitud de clave
2. Generar la clave privada dentro de un jks con el keytool referenciando al Keystore.
Para ello se debe ejecutar la siguiente instrucción modificando los valores proporcionados.
keytool -genkeypair -alias alias_del_certificado -keyalg RSA -keysize
LONGITUD_DE_CLAVE_PROPORCIONADO -sigalg SHA256withRSA -keystore cacerts.jks -dname
"CN=CN_PROPORCIONADO, SERIALNUMBER=SN_PROPORCIONADO, O=O_PROPORCIONADO,
OU=OU_PROPORCIONADO, EMAIL=E_PROPORCIONADO, ST=ST_PROPORCIONADO,
C=C_PROPORCIONADO" -validity VALIDEZ_PROPORCIONADA
Tras ejecutar esta instrucción nos solicitará introducir la contraseña para el almacén de certificados primero y luego
para el propio certificado.
NOTA1:Encasodequealgunodeloscamposproporcionadosenelpunto1contengacomaseránecesario
escaparlareemplazandola,por\,
PorejemplosielCNesVIAFIRMA,S.A.deberaponerCN=VIAFIRMA\,S.A.
NOTA2:Sielcacertproporcionadoenlaintrucciónexisteseinstalaráelcertificadoenél.Ycuandosesolicite
Sinoexistesecreaunnuevocacert.
3 Exportar el CSR para enviar a la CA para que lo firmen. En nuestro ejemplo el crt será certificado.csr. Para ello
ejecutamos la siguiente instrucción:
keytool -certreq -alias alias_del_certificado -file certificado.csr -keystore cacerts.jks
4 Enviar el csr generado a la CA, la cual nos devolverá un crt. En nuestro ejemplo el crt será certificado.crt.
GenerarCSR
23
5 Debemos descargarnos los certificados padres del certificado crt. Posiblemente sean proporcionados por la CA, sino
será necesario descargarlos de Internet. Si los certificados padres (rootCA y/o subCA) no están en formato DER (.crt),
los convierto con la instrucción:
openssl x509 -in rootCA.pem -outform DER -out rootCA.crt
openssl x509 -in subCA.pem -outform DER -out subCA.crt
6 Concatenamos en un único certificado los dos o tres .crt (dependiendo si dispone de subCA o no). Para ello
ejecutamos la siguiente instrucción:
cat certificado.crt subCA.crt rootCA.crt > cert-with-chain.der
7 Importamos al jks el certificado cert-with-chain.der recién generado. El alias debe ser el mismo que asignamos en el
paso 2 (alias_del_certificado). De esta forma se reemplazará el certificado creado en el paso 2.
keytool -importcert -keystore cacerts.jks -alias alias_del_certificado -file cert-with-chain.der
Tras ejecutar esta instrucción nos solicitará introducir las contraseñas proporcionadas en el punto 2 para el almacén de
certificados primero y luego para el propio certificado. También nos solicitará si queremos confiar en las claves
públicas, a lo cual debemos contestar que si.
De esta forma tendremos en cacert.jks con el certificado que se empleará para la firma en servidor de las peticiones en
viafirma documents.
GenerarCSR
24
Primer acceso
Una vez completada la instalación de viafirma documents e instalada la licencia podremos acceder a la aplicación. Para
ello en el proceso de instalación se crea un usuario administrador por defecto cuyas credenciales de acceso son:
Usuario: admin
Contraseña: admin
Por motivos de seguridad se recomienda la modificación de la contraseña de este usuario tras el primer acceso.
El primer paso a realizar debe ser la configuración de la aplicación. La información al respecto puede encontrarla en el
apartado Configuración de los sistemas del manual de administador.
Primeracceso
25
Histórico de versiones
Backend
App iOS
App Android
Históricodecambiosyversiones
26
Histórico de versiónes del backend
Versión 3.3.5
Fecha: 09-noviembre-2016
Versión de la base de datos: 0.0.67
No incluye cambios de configuración
Cambios:
Se añade el generador de formularios a la edición de plantillas.
Versión 3.3.4
Fecha: 03-noviembre-2016
Versión de la base de datos: 0.0.66
No incluye cambios de configuración
Cambios:
Modificación de la pantalla de listado de usuarios. Se eliminan las pestañas y se muestran todos los usuarios en el
mismo listado.
Mejoras en las búsquedas. No se pierden los criterios de búsqueda al realizar acciones sobre los registros.
Corregidos problemas con el timezone.
Corregido problema con la función wm_concat en las últimas versiones de Oracle.
Corregido problema con el encoding del json de callback.
Versión 3.3.3
Fecha: 30-septiembre-2016
Versión de la base de datos: 0.0.66
No incluye cambios de configuración
Cambios:
Mejora del consumo de memoria de la aplicación.
Mejora de los mensajes de callback a url https.
Versión 3.3.2
Fecha: 20-septiembre-2016
Backend
27
Versión de la base de datos: 0.0.66
No incluye cambios de configuración
Cambios:
Corrección de la internalización.
Versión 3.3.1
Fecha: 19-septiembre-2016
Versión de la base de datos: 0.0.66
No incluye cambios de configuración
Cambios:
Corregida la expiración de mensajes cuando la fecha es porporcionada en un mensaje enviado mediante el
servicio REST.
Nueva funcionalidad de mensajes sin evidencias y con firma en servidor.
Correcciones menores.
Versión 3.3.0
Fecha: 19-agosto-2016
Versión de la base de datos: 0.0.64
No incluye cambios de configuración
Cambios:
Soporte a la firma y envío de peticiones sin conexión a internet.
Mejora del envío de peticiones.
Mejora de la búsqueda de dispositivos.
Mejora en la generación de formularios desde plantillas.
Mejora en la activación y desactivación de usuarios.
Mejora de la administración de plantillas.
Correcciones menores.
Versión 3.2.8
Fecha: 4-agosto-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Backend
28
Mejorada la expiración de usuarios.
Mejorado el envío de notificaciones a dispositivos iOS.
Versión 3.2.7
Fecha: 11-julio-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Corregida la búsqueda de grupos.
Mejoras en las estadísticas.
Corregido el estado de las firmas en el detalle de firma de una petición. Salían siempre como no válidas aunque
fueran correctas.
Versión 3.2.6
Fecha: 4-julio-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Soporte a TSA con certificado.
Mejoras en la selección de usuario en Redactar.
Versión 3.2.5
Fecha: 21-junio-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Corrección de la geolocalización.
Inclusión del atributo hidden en los items del formulario.
Mejoras en la generación de formulario desde una plantilla.
Versión 3.2.4
Fecha: 10-junio-2016
Versión de la base de datos: 0.0.63
Backend
29
No incluye cambios de configuración
Cambios:
Mejora en la eliminación de los ficheros temporales.
Añadido método al Servicio REST para buscar plantillas por código.
Versión 3.2.3
Fecha: 6-mayo-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Mejora en las firmas posicionadas en el pdf mediante doble tap.
Soluciona problemas al guardar la configuración.
Versión 3.2.2
Fecha: 3-mayo-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Mejoras en la validación de la licencia.
Versión 3.2.1
Fecha: 28-abril-2016
Versión de la base de datos: 0.0.63
No incluye cambios de configuración
Cambios:
Modificado el periodo máximo de inactividad de un usuario a 365 días.
Mejora del método addCache del Servicio REST.
Mejoras en la redacción de peticiones.
Solucionado problema "demasiados ficheros abiertos".
Mejoras en el cierre de sesión.
Añadido Java Melody.
Añadida nueva configuración para indicar si se desean eliminar los pdf firmados al eliminar las peticiones.
Mejoras en las plantillas de tipo PDF.
Backend
30
Permitir a los administradores asociar plantillas y grupos a los usuarios en la edición de los mismos.
Versión 3.2.0
Fecha: 11-abril-2016
Versión de la base de datos: 0.0.62
No incluye cambios de configuración
Cambios:
Mejoras en la redacción de peticiones.
Solucionado problema al editar aplicaciones.
Añadido contador de peticiones pendientes y borradores.
Solucionado problema al rechazar y crear copia.
Mejoras en el detalle de una petición. Añadida descarga del JSON de la petición en el detalle de la misma y
eliminado el botón descargar PDF para peticiones que no han sido aún firmadas.
Mejorado el envío de peticiones.
Añadido método al Servicio REST para registrar usuarios.
Corrección de bugs menores.
Mejorado el log de la aplicación.
Añadido el método addCache del Servicio REST.
Añadido el tipo de plantilla cache, para enviar documentos pdf que han sido anteriormente añadidos a la cache de
la aplicación con el método addCache.
Mejora de las notificaciones PUSH de iOS y Android.
Añadido método al Servicio REST para la creación de un PDF desde una plantilla.
Mejorada la seguridad del Servicio REST.
Mejoras en la geolocalización de las peticiones finalizadas.
Deprecados los métodos de la versión 1 del servicio REST.
Mejoras en el rechazo de peticiones.
Permitir el envío de mensajes desde el servicio REST sin politicas. En este caso se emplean las de la plantilla.
Añadido valor por defecto para el parámetro DEFAULT_CUSTODY_CODE. Ya no es obligatorio indicarlo en el
fichero de configuración o en el contexto.
Versión 3.1.3
Fecha: 9-marzo-2016
Versión de la base de datos: 0.0.59
Incluye cambios de configuración
Cambios:
Mejoras en el envío de peticiones.
Mejoras en la pantalla de redacción.
Backend
31
Versión 3.1.2
Fecha: 4-marzo-2016
Versión de la base de datos: 0.0.59
No incluye cambios de configuración
Cambios:
Solucionado problema en la comprobación del estado del sistema.
Añadida restricción de unicidad a los consumer key de las aplicaciones.
Añadido callback cuando los mensajes expiran.
Añadida la gestión de la api-keys al apartado de configuración de la aplicación.
Solucionado el envío de correos electrónicos con SSL.
Versión 3.1.1
Fecha: 25-febrero-2016
Versión de la base de datos: 0.0.58
No incluye cambios de configuración
Cambios:
Eliminada las actualización automática de la pantalla de estadísiticas.
Solucionado problema con la autenticacón de usuarios cuyo código incluye una @.
Usuarios que no tienen rol solo pueden modificar su contraseña en el backend.
Mejoras en la validación de la licencia.
Solucionado problema con las notificaciones.
El código de usuario deja de ser case sensitive.
Añadida validación de DNI.
Añadido método al Servicio REST para rechazar peticiones por código.
Añadida funcionalidad para recordar la contraseña.
Añadida funcionalidad para dar de alta usuarios sin indicarles la contraseña y que estos reciban un correo con un
enlace para indicar su contraseña.
Campo email obligatorio en la importación de usuarios.
Mejoras menores en el servicio REST.
Eliminado el uso de itext.
Eliminados enlaces de descarga de los certificados de las aplicaciones si no han sido cargados previamente.
Añadido parámetro de configuración URL_PROTOCOL.
Resolución de problemas menores.
Versión 3.0.2
Fecha: 29-enero-2016
Versión de la base de datos: 0.0.57
Backend
32
No incluye cambios de configuración
Cambios:
Eliminada integración con viafirma platform y viafirma manager.
Solucionado problema al realizar el autoregistro de un dispositivo.
Eliminadas las estadísticas
Permitir externalizar la configuración al fichero config.properties en lugar del contexto.
Permitir la creación de nuevas plantillas a usuarios con el rol USER.
Versión 2.X
Puede consultar el historial de cambios para versiónes 2.X en el siguiente enlace:
http://doc.viafirma.com/mobile-services/changelog.html
Backend
33
Cambios de configuración del backend
Versión 3.1.3 - directorio para ficheros de configuración
A partir de la v3.1.3 todos los ficheros de configuración pueden estar en un directorio específico y elegido por el cliente
durante la instalación.
Nos referimos a los siguientes ficheros de configuración:
config.properties
hazelcast.xml
logback.xml
ubicados en versiones anteriores en:
<tomcat_path>/webapps/documents/webapps/documents/WEB-INF/classes/
y que ahora podrán ubicarse en el directorio definido en la variable DOCUMENTS_HOME. Esta variable se define en el
contexto de la aplicación entregada por defecto en el war, pudiéndose consultar y modificar en:
<tomcat_path>/conf/Catalina/localhost/documents.xml
Ejemplo:
<Environmentdescription="Documentshome"name="DOCUMENTS_HOME"
override="false"type="java.lang.String"value="/home/vdocuments/config"/>
Cambiosdeconfiguración
34
Histórico de versiones de la aplicación iOS
Versión 3.3.0
Fecha: 19-agosto-2016
Cambios:
Soporte a la firma y envío de peticiones sin conexión a internet.
Nueva validación (dni_nie) con soporte para DNI y NIE.
Correcciones menores
Versión 3.2.3
Fecha: 29-junio-2016
Cambios:
Correcciones menores
Versión 3.2.2
Fecha: 3-mayo-2016
Cambios:
Corrección de la inserción de las firmas haciendo doble tap.
Versión 3.2.1
Fecha: 28-abril-2016
Cambios:
Corrección del proceso de actualización automático.
Versión 3.2.0
Fecha: 15-abril-2016
AppiOS
35
Cambios:
Captura de firmas y evidencias sin conexión.
Añadido soporte a Touch ID
Nuevo diseño de la cámara.
Envío de logs desde el dispositivo.
Añadido soporte a lápices Wacom.
Añadida imagen previa del pdf.
Versión 3.1.3
Fecha: 30-marzo-2016
Cambios:
Mejoras en la validación del formulario.
Mejoras en la autenticación sin conexión.
Versión 3.1.1
Fecha: 25-febrero-2016
Cambios:
Añadida imagen de la firma en png.
Corrección de errores.
Versión 3.1.0
Fecha: 25-febrero-2016
Cambios:
Opciones disponibles sobre las peticiones finalizadas configurables.
Añadida validación del DNI.
Corrección de errores.
Versión 2.X
Puede consultar el historial de cambios para versiones 2.X en el siguiente enlace:
http://doc.viafirma.com/mobile-services/changelog.html
AppiOS
36
AppiOS
37
Histórico de versiones de la aplicación Android
Versión 3.3.0
Fecha: 19-agosto-2016
Cambios:
Soporte a la firma y envío de peticiones sin conexión a internet.
Nueva validación (dni_nie) con soporte para DNI y NIE.
Correcciones menores
Versión 3.2.0
Fecha: 18-abril-2016
Cambios:
Mejoras de las funcionalidades sin conexión.
Mejoras en el diseño.
Añadida pantalla de ajustes.
Rechazar mensajes deslizandolos hacia la izquierda en el listado.
Envío de logs desde el dispositivo.
Correcciones menores.
Versión 3.1.0
Fecha: 8-marzo-2016
Cambios:
Corrección de errores.
Versión 3.0.0
Fecha: 1-marzo-2016
Cambios:
Captura de firmas y evidencias sin conexión.
AppAndroid
38
Corrección de errores.
Versión 2.X
Puede consultar el historial de cambios para versiones 2.X en el siguiente enlace:
http://doc.viafirma.com/mobile-services/changelog.html
AppAndroid
39
Glosario
ddd
ddd
Glosario
40