Configuración
Ficheros de configuración
El war de viafirma platform se entrega sin configuración, y por defecto, espera los ficheros de configuración en los siguientes paths:
Configuración de platform
/home/viafirma/viafirma_config/viafirmaConfig.properties
Configuración de EHCACHE
/home/viafirma/viafirma_config/ehcache.xml
Configuración de log4java
/home/viafirma/log4j.properties
Cambiar la ubicación de los ficheros de configuración
Para cambiar el path en el que war de viafirma espera los ficheros de configuración, los pasos a realizar son los siguientes:
Opción 1: antes del primer despliegue
- Descomprimir el empaquetado (.war o .ear).
- Modificar /WEB-INF/classes/viafirmaConfig.properties.
Opción 2: tras el primer despliegue
- Parar el contenedor de aplicaciones.
- Modificar /WEB-INF/classes/viafirmaConfig.properties.
- Arrancar el contenedor de aplicaciones.
Parámetros de Configuración
En el kit de instalación se hacen entrega de varios ficheros de configuración de ejemplo. Con configuración mínima de uso, y con la lista completa de parámetros disponibles para la versión distribuida.
Descripción de parámetros
Configuración Básica
Param | Descripción |
---|---|
VIAFIRMA_CONFIGURATION_PATH |
path en el que se encuentran los ficheros de configuración. Por ejemplo, /home/viafirma/viafirma_config |
URL_APLICACION |
URL desde la que será visible el servicio de viafirma platform. Por ejemplo http://192.168.10.20:8080/viafirma/ |
CONFIG_VIAFIRMA_CLIENT |
config del cliente de viafirma que se usa sólo para la aplicación de ejemplo disponible en http://192.168.10.20:8080/viafirma;http://192.168.10.20:8080/viafirma;<PLACE_HERE_API_KEY>;<PLACE_HERE_API_PASSWORD> |
PATH_CUSTODIA |
PATH de custodia en caso de haber seleccionado la implementación basada en filesystem. Por ejemplo, /home/viafirma/storage/custody |
Configuración de Custodia
Param | Descripción |
---|---|
REPOSITORIO_IMPL |
Si se omite este parámetro, la implementación por defecto será sobre filesystem. Para cambiar la custodia por defecto y definir una custodia basada en oracle o en caché, los valores posible serán: org.viafirma.util.OracleManagerFile y org.viafirma.util.CacheManagerFile respectivamente. |
oracle_manager.default.datasourcename |
En caso de haber definido la custodia sobre oracle, en este parámetro definiremos el datasource name, por ejemplo: java:comp/env/jdbc/default_manager . El resource de conexión a la DB Oracle se deberá definir en el contexto o en la configuración específica de cada contenedor JEE según cada caso. Para poder hacer uso de la custodia consultar el capítulo 8.1 Custodia sobre Oracle en el ANEXO de esta documentación. |
cache_manager.default.manager |
En caso de haber definido la custodia sobre CACHE este parámetro lo definiremos siempre con el valor cache . El tiempo en que se retienen los documentos en la cache de custodia es configurable mediante el fichero de configuración de ehcache, por defecto se retiene durante 25 minutos. |
CSV_PREFIX |
En caso de haber definido este parámetro, el valor informado se incorporará delante de todos los ids de firma entregados por la plataforma seguidos por la marca 'OC-', por ejemplo: si CSV_PREFIX=USH, se entregarían ids similares al siguiente: USHOC-K6YO-AHOF-LNBA-1475-1380-5532-7 . Este parámetro puede ser usado como parámetro de contexto o de petición como PolicyParam |
CSV_MINIMUM_SIZE |
En caso de haber definido este parámetro, el valor informado (tipo int ) se tomará para que los códigos de firma entregados por la plataforma no tengan menos que los carácteres indicados en este parámetro, en todo caso, podrían tener más carácteres de los indicados en el parámetro. Este parámetro puede ser usado como parámetro de contexto o de petición como PolicyParam |
Configuración de Viafirma Manager
Esta configuración solo será necesaria en el caso que Viafirma Platforn haga uso de la aplicación Viafirma Manager.
Param | Descripción |
---|---|
AUDITORY_REGISTER_IMPL |
Tipo de implementación utilizada para la auditoría de operaciones. Valor actualmente soportado: org.viafirma.util.security.AuditorySimpleFileRegisterLog |
AUDITORY_REGISTER_DIRECTORY_LOG |
PATH donde se persistirán los logs de auditoría que serán procesados por viafirma manager. Por ejemplo: /home/viafirma/storage/auditory/auditory_platform/ |
AUDITORY_REGISTER_URL |
URL de viafirma manager asociado, por ejemplo: http://192.168.10.20:8080/viafirmaManager |
ENABLE_DEFAULT_APP |
Activa/desactiva aplicacion por defecto, si app por defecto está activa no se contemplan restricciones de aplicaciones. Sólo aplica si viafirma platform está integrador con viafirma manager. Valores permitidos true y false. |
AUDITORY_REGISTER_LOG_NAME |
Nombre alternativo del fichero de logs de auditoría |
Configuración de CA´s y Certificados
Param | Descripción |
---|---|
VALIDACION_ONLINE |
Activa o desactiva la validación online de los certificados digitales. Valores permitidos: true y false. |
PARAM_CERTIFICATE_VALIDATION_CLASS |
Se usa para indicar un plugin de validación de certificados externo. Valores válidos: Para @firma: org.viafirma.nucleo.validacion.AfirmaValidationHandler Para PSIS: org.viafirma.nucleo.validacion.PsisValidationHandler |
CUSTOM_SIGNATURE_UPGRADER_CLASS |
Se usa para indicar un plugin de upgrade de firma externo a la plataforma. Valores válidos: Para @firma: org.viafirma.plugin.signatureUpgrader.AfirmaSignatureUpgrader |
PARAM_PSIS_VALIDATOR_URL |
En el caso de utilizar el validador de PSIS, se indicará en este parámetro la url del servicio de validación de PSIS |
PARAM_AFIRMA_VALIDATOR_URL |
En el caso de utilizar el validador de @firma, se indicará en este parámetro la url del servicio de validación de @firma |
KEYSTORE_PATH |
Configuración por defecto del keystore; si esta variable no se indica se usará el path por defecto de la JVM. Por ejemplo /home/viafirma/viafirma_config/cacerts |
KEYSTORE_PASS |
Si se ha definido el parámetro KEYSTORE_PATH , se permite indicar cual es su contraseña mediante este parámetro. |
IS_FIRST_OCSP |
Indica si la validación de certificados se hace por OCSP antes que por CRL. Valores permitidos: true y false |
PATH_XML_EXTRA |
Directorio para xml's de soporte externo a certificados, por ejemplo, /home/viafirma/viafirma_config/xml_supports. Nota: Si el equipo técnico de viafirma hace entrega de ficheros .groovy, éstos deben ser copiados al path "PATH_XML_EXTRA"/caSupports. Estos soportes son prioritarios sobre los de groovy |
PATH_GROOVY |
Directorio para groovy's de soporte externo a CA´s, por ejemplo, /home/viafirma/viafirma_config/groovy. Nota: Si el equipo técnico de viafirma hace entrega de ficheros .groovy, éstos deben ser copiados al path "PATH_GROOVY"/caSupports. |
DEFAULT_CA |
Activa/desactiva la carga de CA por defecto de viafirma (Recomendado 'false' para fuera de España). Valores permitidos: true y false |
DISCARD_EXPIRED_CERTIFICATES |
Permite definir si se quieren descartar los certificados caducados para que nos se muestren en los listados de certificados expuestos por los clientes Applet, JNLP y aplicaciones nativas Windows. Valores permitidos: true y false, donde el valor 'true' indica que se descarten dichos certificados y no se muestren. |
DISABLE_CRL_CACHE |
Indica si se habilita/deshabilita la caché de CRL, por defecto: 'false' (Nótese que el valor 'false' indica que la caché de CRLs estará activa). Valores permitidos: true y false |
TSL_CODE |
Se debe indicar el código del país (ES , FR o EU ...) al que corresponda la URL que se configurará en el parámetro TSL_URL |
TSL_URL |
Url donde se encuentre publicado el XML de la lista TSL, por ejemplo, para europa: https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml o para España: https://sede.minetur.gob.es/Prestadores/TSL/TSL.xml . Si este parámetro y TSL_CODE aparecen todas las noches se actualizarán los keystores con las listas TSL dadas, además se realizará un mantenimiento de los mismos keystores para eliminar las claves públicas expiradas o duplicadas |
TSL_TERRITORIES |
Este parámetro permite filtrar de que países cargar los certificados cuando la TSL seleccionada contiene varios países, por ejemplo, al seleccionar la TSL Europea, es posible mediante este parámetro filtrar por países indicando los códigos de país que se quieran cargar separados por punto y coma, por ejemplo: ES;FR;DE |
DO_KEYSTORE_MAINTENANCE |
Este parámetro, si aparece y vale true permite indicar a la plataforma que durante las noches realice un mantenimiento preventivo de los keystores configurados para eliminar aqueelas claves públicas caducadas o duplicadas. |
URL_SSL_AUTH_SERVICE |
Este parámetro opcional permite definir la URL de un servicio (WAR aparte) de autenticación con certificado de cliente vía SSL, habilitando así este método de autenticación. Disponible desde la versión 3.16. |
CASUPPORT_SUSCRIPTION_ENABLED |
Este parámetro opcional, si aparece y vale true permite suscribir la instalación de viafirma platform a un servicio de actualización automática de soporte de CAs (jerarquía de confianza y ficheros groovy). Disponible desde la versión 3.17. |
CASUPPORT_SUSCRIPTION_MODE |
Este parámetro puede tomar valores offline y online (valor por defecto). Si está configurado en modo offline la plataforma no intenta actualizar la configuración de soporte de CAs, debiendo realizarse manualmente. |
CASUPPORT_SUSCRIPTION_STORAGE_FOLDER |
Este parámetro es obligatorio y especifica una ruta física donde Platform descargará o almacenará la configuración de soporte de CAs a la que se haya suscrito. |
CASUPPORT_SUSCRIPTION_CONTENT |
Este parámetro opcional indica las ramas a las que se suscribe (véase https://casupport.viafirma.com ). Por defecto vale /prod |
CASUPPORT_SUSCRIPTION_PERIOD |
Este parámetro opcional indica los minutos que se espera entre cada comprobación de información de la suscripción a CA Support. Si toma un valor superior a 60, deberá ser múltiplo de 60 (por ejemplo, para lanzarlo cada 3 horas, se pondría un valor de 180). Aunque se aceptan, no se recomiendan valores inferiores a 60 minutos. |
Configuración de Servicio de Sellado de Tiempo
Param | Descripción |
---|---|
TSA_URL |
URL para el servicio de estampa de tiempo, por ejemplo, http://testtsa.avansi.com.do |
TSA_CREDENTIALS |
Se usa en caso de que el servicio de la TSA esté securizado mediante auteticación básica. El formato es user;password |
TSA_POLICY_ID |
(Opcional) Se usa en caso de que el servicio de la TSA requiera que se informe un OID de política en las peticiones que se le realicen. |
TSA_CERTIFICATE_AUTHENTICATION_MODE |
(Opcional) Se usa para definir el tipo de autenticación a realizar en la TSA. Valores permitidos: TLS, CMS_ENCAPSULATION. Valor por defecto: CMS_ENCAPSULATION |
TSA_CERTIFICATE_CREDENTIALS |
Se usa en caso de que el servicio de la TSA esté securizado mediante auteticación por certificado. El formato es alias;password , donde se especifica el alias y contraseña del certificado |
TSA_PROXY_ACTIVE |
Prámetro que indica si se usará proxy para la conexión con TSA. El valor por defecto es true |
Configuración Seguridad
Param | Descripción |
---|---|
ALLOWED |
Securización de las conexiones WS entrantes. Indica aquellas IPs autorizadas. Permite el uso de máscaras, por ejemplo 10.69.44.,127.0.0.1,192.168.10. |
CACHE_KEY |
En caso de cifrar la caché, este parámetro indica la palabra de paso, por ejemplo: 12345678 |
PARAMS_CIPHERED |
Permite cifrar valores de la configuración para evitar que se distribuyan en claro. Para cifrar, indicar como valor true, y afecta a los parámetros CACHE_KEY y TSA_CREDENTIALS . Cuando está presente Viafirma Manager este parámetro debe ponerse a true, y CACHE_KEY debe estar cifrado y no en claro. |
FORCE_AUTH_PASSWORD |
Activa/desactiva la petición de pass en autenticaciones con smartcards. Valores permitidos: true y false. Si este parámetro no existe o vale false, la solicitud de PIN para el acceso a smartcards dependerá de la política de seguridad gesitonada por el sistema operativa, el cual permite cacheo de PIN en determinadas políticas y dispositivos. |
Configuración HSM
Viafirma platform se puede configurar con HSM de los fabricantes Safenet y Thales. Si deseas configurar un HSM de otro fabricante, ponte en contacto con nosotros.
HSM Luna de Safenet
Param | Descripción |
---|---|
KEYSTORE_HSM_SAFENET_LUNA |
Configuración para el almacenamiento HSM . Viafirma utilizará HSM para el manejo de certificados . Nota : Si el parámetro no está activado o vale "false" y no hay ningún Keystore configurado, Viafirma usa de almacén de certificados por defecto (cacerts). Valores permitidos true y false. |
KEYSTORE_HSM_SAFENET_LUNA_PASS |
Clave para la conexión para el manejo de certificados mediante HSM |
HSM_SLOT |
Slot de conexión para el manejo de certificados mediante HSM |
HSM Luna de WRAP
Param | Descripción |
---|---|
KEYSTORE_HSM_SAFENET_LUNA_UNWRAP |
Configuración para el almacenamiento de certificados encriptados por HSM . Viafirma utilizará HSM para el encriptado/desencriptado de certificados. Los certificados se almacenarán encriptados en un repositorio externo. Nota : Si el parámetro no está activado o vale "false" y no hay ningún Keystore configurado, Viafirma usa de almacén de certificados por defecto (cacerts). Valores permitidos true y false. |
KEYSTORE_HSM_SAFENET_LUNA_PASS |
Clave para la conexión para el manejo de certificados mediante HSM |
HSM_SLOT |
Slot de conexión para el manejo de certificados mediante HSM |
UNWRAP_AES_ALIAS |
Alias de la clave AES almacenada en HSM que se utilizará para el encriptado/desencriptado de los certificados. Esta clave AES está marcada como no exportable dentro del HSM. |
UNWRAP_DATASOURCE |
Base de datos que se usará como repositorio externo de certificados encriptados. Por ejemplo "java:comp/env/jdbc/nameWrapDataBase". Nota: la base de datos solo puede ser Oracle o PostgreSQL. |
HSM nCipher de Thales
Param | Descripción |
---|---|
PKCS11_HSM_CONFIG |
Ruta del fichero de configuración del HSM. Por ejemplo "/home/viafirma/hsm/hsm_ncipher_pkcs11.cfg" |
HSM_REFRESH_PASS |
Clave de acceso a la página del refresco del HSM. Página de acceso "http://192.168.10.20:8080/viafirma/hsm/verify " |
Globales
Param | Descripción |
---|---|
ALLOW_DEFAULT_ACCESS_HSM_CERT |
Activa el acceso a todos los certificados de un HSM, en caso de HSM configurado por defecto. Este comportamiento sirve para aquellos entornos que tienen HSM y desean que, sin dar de alta ningun certificado, se puede firmar con todos los certificados de su Keystore, por ejemplo para entornos donde pueden firmar cientos de usuarios con el HSM en una misma aplicación no es necesario añadir todos los certificados a la aplicación en Viafirma Manager. |
Configuración de Viafirma Identity
Esta configuración solo será necesaria en el caso que Viafirma Platforn haga uso de la aplicación Viafirma Identity.
Param | Descripción |
---|---|
IDENTITY_API_URL |
URL de viafirma identity asociado. Por ejemplo: http://192.168.10.20:8080/identity |
IDENTITY_SERVICE_USERNAME |
Variable opcional. Usuario para autenticacion básica en los servicios de identity |
IDENTITY_SERVICE_PASSWORD |
Variable opcional. Contraseña del usuario para autenticacion básica en los servicios de identity |
SSL_KEYSTORE_LOCATION |
Ruta de acceso al almacén de certificados de dónde están las claves SSL para las solicitudes HTTPS. Por ejemplo: /home/viafirma/ssl/identity_keystore.jks |
SSL_KEYSTORE_PASSWORD |
Contraseña de acceso al keystore definido en la variable SSL_KEYSTORE_LOCATION |
SSL_HOSTNAME_VERIFIER |
Define el host para verificar la solicitud ssl a identity. Valores permitidos ALLOW_ALL, STRICT, BROWSER_COMPATIBLE. Valor por defecto BROWSER_COMPATIBLE |
REQUIRED_IDENTITY_INTEGRATION |
Limita el uso, solo para la aplicación indetity, de los certificados instalados en el servidor. Si no se define dicha variable, el valor por defecto será 'false'. Valores permitidos: true y false. |
Otras configuraciones
Param | Descripción |
---|---|
HIDE_ANDROID_DOWNLOAD_DOCUMENT |
Permite parámetro de contexto (o policy) para ocultar el botón de descargar documento desde la app Android. Requiere actualización del cliente de Android. |
KEEP_INPUT_XML_ENCODING_HEADER |
Controla que los xml firmados en XADES, mantengan el encoding con la cabecera original, es decir, la de entrada. Por defecto si no aparece esta variable será a 'false', por lo que el encoding y cabecera por defecto será UTF-8. |
DEFAULT_USER_CLIENT |
Define el tipo de cliente que será usado para la selección de certificados. Valores permitidos: - NATIVE: Cliente Windows (viafirma desktop), - JAVA_CLIENT: Cliente Java (Applet y JNLP) |
Configuración en clúster
En los casos en los que viafirma platform se encuentra en un sistema de alta disponibilidad, es necesario configurar EHCACHE en modo clúster para que las aplicaciones, o nodos, compartan la misma caché. El archivo encargado de configurar EHCACHE se llama ehcache.xml, el cual se encuentra disponible en la carpeta externa de configuración definida en la variable de configuración VIAFIRMA_CONFIGURATION_PATH.
La configuración de caché en modo clúster requiere que las aplicaciones, y/o nodos, se vean a través de la red mediante un puerto configurable. El sistema de EHCACHE para reconocer con qué otros nodos debe sincronizarse, utiliza dos tipos de descubrimiento de pares (en adelante, peeDiscovery), automático y manual. A continuación se describen estos dos tipos de peeDiscovery para poder configurar EHCACHE según el modo que más convenga al sistema (por defecto vendrán configurados con peerDiscovery=automatic):
- peerDiscovery=automatic Los ficheros ehcache.xml se entregan normalmente configurados con el descubrimiento automático de otras caches con las que se debe poner en clúster. Un ejemplo de configuración de peerDiscovery=automatic es (igual para todos los pares):
```xml
Donde:
* **multicastGroupAddress**: Indica el puerto por el que se buscarán las distintas cachés.
* **multicastGroupPort**: Indica el puerto por el que se realizará el descubrimiento de cachés.
* **timeToLive**: Indica el rango de red en el que se buscarán cachés. Algo más adelante se describen todas las posibilidades.
2. peerDiscovery=manual En algunos casos, con infraestructuras de red más restrictivas, es necesario indicar en cada aplicación la configuración del lugar exacto donde se encuentran las otras caches con las que debe ponerse en clúster, para ello usaremos una configuración como la siguiente:
#### EHCACHE de ejemplo de viafirma platform en modo manual nodo1 (hostname viafirma-01)
```xml
<!-- Se observa que peerDiscovery es manual y se le indica el host donde se encuentra la otra cache, el
puerto por el que se publica y el nombre de la cache concreta -->
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,
rmiUrls=//viafirma-02:50002/CACHE_CERTIFICADOS|
//viafirma-02:50002/CACHE_DOCUMENTOS|
//viafirma-02:50002/CACHE_CUSTODIA|
//viafirma-02:50002/InEhCachePrivateHandleServerAssociations|
//viafirma-02:50002/InEhCacheSharedHandleServerAssociations|
//viafirma-02:50002/CACHE_APPS_HANDLERS|
//viafirma-02:50002/CACHE_APPLICATION
propertySeparator="," />
<!-- En este nodo se indica el puerto por el que se publicarán las caches de esta aplicación y el nombre de este host o ip-->
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=viafirma-01, port=50001"/>
EHCACHE de ejemplo de viafirma platform en modo manual nodo2 (hostname viafirma-02)
<!-- Se observa que peerDiscovery es manual y se le indica el host donde se encuentra la otra cache, el
puerto por el que se publica y el nombre de la cache concreta -->
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,
rmiUrls=//viafirma-01:50001/CACHE_CERTIFICADOS|
//viafirma-01:50001/CACHE_DOCUMENTOS|
//viafirma-01:50001/CACHE_CUSTODIA|
//viafirma-01:50001/InEhCachePrivateHandleServerAssociations|
//viafirma-01:50001/InEhCacheSharedHandleServerAssociations|
//viafirma-01:50001/CACHE_APPS_HANDLERS|
//viafirma-01:50001/CACHE_APPLICATION
propertySeparator="," />
<!-- En este nodo se indica el puerto por el que se publicarán las caches de esta aplicación y el nombre de este host o ip-->
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=viafirma-02, port=50002"/>
Donde se debe tener en cuenta que existen dos nodos a configurar:
- cacheManagerPeerProviderFactory donde se configuran las urls donde se encuentran las distintas cachés con las que debe ponerse en clúster, la url se forma del modo //
: / , los nombres de cache serán siempre los que se indican en el ejemplo a no ser que el equipo de viafirma indique algo diferente. - cacheManagerPeerListenerFactory donde se indicar el nombre del host en el que se encuentra y el puerto por donde se publicarán sus cachés.
El resto de configuración de estos archivos no debe tocarse ya que se proporcionan preconfigurados.
Por otro lado, otro aspecto a tener en cuenta para la configuración en alta disponibilidad, es la configuración de un sistema de ficheros mediante NFS el cual sea accesible desde ambos nodos. Esto último es necesario siempre y cuando tengáis configurada la aplicación para que custodie los ficheros firmados en disco. Esto se puede comprobar desde el fichero de configuración de la aplicación, y ver si existe la variable de configuración PATH_CUSTODIA. Cuando se configure el NFS, habría que cambiar la ruta en esta variable de configuración apuntando a la carpeta montada con conexión al NFS
Si por el contrario, se tiene configurada la aplicación para que no custodie en disco, si no que por tiempo limitado estén los documentos firmados disponibles en caché, no habría que configurar nada en tema de custodia.
Una vez configurados los dos nodos en cluster, se deberá montar un balanceador que apunte a ambos nodos.
results matching ""
No results matching ""