Revisión: 20-octubre-2025

Configuración y parametrización

Viafirma Fortress permite configurar el aplicativo a través de uno o varios ficheros de propiedades sin necesidad de modificar el código del aplicativo. Únicamente deberemos definir la ruta donde se encuentra el fichero/ficheros de propiedades en la propiedad spring.config.location, esto lo podemos definir de las siguientes maneras:

  • En el descriptor de contexto tomcat/conf/Catalina/< host >
      <Context>
          <Parameter name="spring.config.location" value="/path/to/application.properties" />
      </Context>
    
    por ejemplo:
      <Context>
          <Parameter name="spring.config.location" value="/home/ubuntu/fortress/fortress.properties" />
      </Context>
    
    o indicar las rutas donde se encontrarán los distintos ficheros de propiedades separados por comas:
      <Context>
          <Environment name="spring.config.location" value="/home/ubuntu/fortress/fortress.properties,/home/ubuntu/fortress/security.properties" type="java.lang.String"/>
      </Context>
    
  • Como un parámetro indicado en el setenv.sh de la JVM empleada por el tomcat:
          -Dspring.config.location=/"/home/ubuntu/fortress/fortress.properties"
    

La configuración y parametrización de la aplicación contempla los siguientes apartados

Cliente

No aplica

Servidor

Configuración del datasource

Como se indica en el apartado 3.1.3.1, hay diferentes formas de establecer el DataSource que empleará el aplicativo, permitiendo indicarlo en el fichero de propiedades:

spring.datasource.url=
spring.datasource.username=
spring.datasource.password=

En caso de emplear Oracle como motor de BD, será necesario agregar el siguiente parámetro para indicar el Dialect.

#hibernate config
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect

Si se desea emplear el datasource de HikariCP en lugar del datasource de tomcat, será necesario agregar las sigientes variables:

#HikariCP datasource
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
# Hikari setup connection pooling
spring.datasource.hikari.minimumIdle=5
spring.datasource.hikari.maximumPoolSize=100 (Por defecto, el pool de Hikari está limitado a 10 conexiones)
spring.datasource.hikari.idleTimeout=30000
spring.datasource.hikari.poolName=SpringBootJPAHikariCP
spring.datasource.hikari.maxLifetime=2000000
spring.datasource.hikari.connectionTimeout=30000
Configuración del log del aplicativo

Tal y como se ha indicado en el apartado 3.1.5.2, en el fichero de propiedades es necesario indicar la ruta donde se encuentra el fichero fortress-logback.xml

# LOGGING
logging.config=
Configuración de la licencia del aplicativo
# LICENSE
fortress.license.path=

#LICENSE RELOAD
fortress.license.reload_minutes=
  • fortress.license.path.- variable que indica la ruta donde se encuentra la licencia del aplicativo
  • fortress.license.reload_minutes.- variable que indica cada cuantos minutos se comprobará la licencia.
Configuración de las cookies de la aplicación

Es completamente configurable en caliente, y no tira del properties. Tira de cookies.md que se encuentran en la ruta:

    $fortress.signature.home\cookies.md

Para crear sus traducciones simplemente:

    $fortress.signature.home\cookies_ca.md` 
    $fortress.signature.home\cookies_en.md`
Configuración i18n externo

Si se desea sobreescribir los mensajes del aplicativo, será necesario agregar el path donde se alojarán los ficheros i18n, que sobreescribirán aquellas variables que le usuario desee.

#EXTERNAL I18N PATH
fortress.message_path=
Configuración reCAPTCHA
Configuración reCAPTCHA V2

Parámetros para configurar reCAPTCHA V2 en Viafirma Fortress

fortress.captcha_private_key=
fortress.captcha_public_key=

Donde:

  • fortress.captcha_private_key.- variable que indica la private key del captcha v2 de google, si no se indica no se mostrará el captcha en las ventanas de inicio de sesión o crear usuario.
  • fortress.captcha_public_key.- variable que indica la public key del captcha v2 de google, si no se indica no se mostrará el captcha en las ventanas de inicio de sesión o crear usuario
Configuración reCAPTCHA V3

Parámetros para configurar reCAPTCHA V3 en Viafirma Fortress

fortress.captcha_v3= true
fortress.captcha_enterprise_project_id=
fortress.captcha_enterprise_api_key=
fortress.captcha_enterprise_site_key=

Donde:

  • fortress.captcha_v3.- [true/false], por defecto es false, variable que indica si se quiere emplear recaptcha V3 Enterprise en la plataforma
  • fortress.captcha_enterprise_project_id.- Identificador del proyecto definido en la administración de Google Cloud reCAPTCHA Enterprise
  • fortress.captcha_enterprise_api_key.- Clave de autenticación que permite que tu aplicación se comunique con el servicio de Google Cloud reCAPTCHA Enterprise. Sirve para verificar los tokens que genera el cliente (por ejemplo, el token que envía el navegador después de que el usuario interactúa con tu sitio). Sin esa clave, tu backend no puede validar si el usuario es humano o un bot.
  • fortress.captcha_enterprise_site_key.- Identifica públicamente tu integración con reCAPTCHA Enterprise y autoriza al frontend a generar tokens válidos que luego verificará tu backend.
Páginas segurizadas con reCAPTCHA
fortress.captcha_login_page=
fortress.captcha_create_user_page=
fortress.captcha_unlock_user_page=
fortress.captcha_activate_user_page=
fortress.captcha_reset_password_page=
fortress.captcha_signature_validation=

Donde:

  • fortress.captcha_login_page.- variable que permite activar el captcha en la pantalla de login
  • fortress.captcha_create_user_page=true.- variable que permite activar el captcha en la pantalla de creacion de usuario
  • fortress.captcha_unlock_user_page.- Variable que permite activar el captcha en la pantalla para solicitar el desbloqueo del usuario
  • fortress.captcha_activate_user_page.- Variable que permite activar el captcha en la pantalla para solicitar la activación del usuario
  • fortress.captcha_reset_password_page.- Variable que permite activar el captcha en la pantalla para solicitar el reseteo de la password del usuario
  • fortress.captcha_signature_validation.-Agrega el captcha a la página de consulta de una firma y descargar documento. Debe estar configurado el captcha de google a nivel de plataforma
Configuración de parámetros globales del aplicativo

Viafirma Fortress emplea una serie de variables que permiten determinar el comportamiento del aplicativo:

# GLOBAL CONFIGURATION
fortress.delegations=
fortress.certificate_import=
fortress.base_url=
fortress.public_sign_up=
fortress.template_path=
fortress.certificate_password=
fortress.oauth2.token.millis_to_expire=
fortress.single_factor=
fortress.certificate_requests=
fortress.idp_user_fails_to_lock=
fortress.redirect=
fortress.redirect_url=
fortress.invitation_code=
fortress.extension_help=
fortress.extension_help_url=
fortress.download=
fortress.download_url=
fortress.subdelegations=
fortress.showAuthCache=
fortress.multifactor_auth=
fortress.multifactor_super_required=
fortress.multifactor_admin_auth=
fortress.terms_and_conditions_url=
fortress.delay_repudiation=
fortress.export=
fortress.timezone=
fortress.login_page_title=
fortress.login_page_subtitle=
fortress.activity.filter_max_days=
fortress.app_client_id=
fortress.disable_appQR=
fortress.locales=
fortress.default_locale=
fortress.disable_right_component_login_page=
fortress.show_activity=
fortress.statistics.active=
fortress.group.expiration.active=
fortress.show_group_expiration_date=
fortress.group_limits=

fortress.disabled_client_user_activity=
fortress.privacy_policy_url=
fortress.obfuscate=
fortress.inactivity_limit=
fortress.account.expiration=
fortress.password_expiration= 
fortress.account.password.expiration=
fortress.password_limits=
fortress.single_token=
fortress.message_path=
fortress.cookies_path= 
fortress.cookies_url=
fortress.template_path=
fortress.node=
fortress.theme=
fortress.title=
fortress.auth_cache=
fortress.certificate_password_fails_to_lock=
fortress.export_policies=
fortress.eidas_compliance=
fortress.max_delegations=
fortress.max_certificates=
fortress.max_groups=
fortress.max_users=
fortress.show_statistic=
fortress.show_alert=
fortress.custom_theme=
fortress.show_terms_and_conditions=
fortress.request_policy_modification=
fortress.version=
fortress.full_version=
fortress.allow_app_signature=
fortress.delete_user_account=
fortress.configTsa=
fortress.certificate_source=
fortress.normalize_group_code=
fortress.show_unlock_idp_link=
fortress.replace_certificate=
fortress.manage_ra= 
fortress.log_activity=
fortress.replace_certificate_code=
fortress.activate_user_subtitle=
fortress.platform_tsa=
  • fortress.delegations.- variable que indica si se permite la delegación de certificados entre usuarios de Viafirma Fortress.
  • fortress.certificate_import.- variable que indica si está permitido importar certificados P12.
  • fortress.base_url.- path base del aplicativo.
  • fortress.public_sign_up.- variable que indica si está permitido que los usuarios puedan darse de alta en Viafirma Fortress.
  • fortress.templatePath.- pathBase donde se alojarán las plantillas ftl, empleadas para las notificaciones vía email.
  • fortress.certificate_password.- variable que indica si el certificado está protegido por una variable que únicamente conoce el usuario final.
  • fortress.oauth2.token.millis_to_expire.- tiempo en el que expiran los tokens.
  • fortress.singleFactor.- variable empleada, para solicitar únicamente la password del certificado, o un Factor de autenticación si el certificado no tiene password.
  • fortress.certificateRequests.- variable que indica si se permite visualizar la sección solicitudes de certificado.
  • fortress.idpUserFailsToLock.- variable que indica el número de intentos que podrá utilizar un usuario para autenticar contra un Factor de autenticación, por defecto dicho valor está configurado a 3.
  • fortress.redirect.- variable que indica si la aplicación agregará una redirección tras activar, desbloquear un usuario en Viafirma Fortress, por defecto redirigirá a la pantalla de login de Viafirma Fortress, si se desea redirigir a una URL externa, será necesario indicar la Url en la variable fortress.redirect_url.
  • fortress.redirect_url.- variable que almacena, la URL a donde redirigirá el sistema tras activar, desbloquear un usuario en Viafirma Fortress, esta variable depende de la variable, fortress.redirect.
  • fortress.invitation_code.- variable que obliga a introducir un código de invitación asociado a un grupo, al darse de alta usuarios desde la parte pública.
  • fortress.download.- variable que indica si se muestra la opción de descargas.
  • fortress.download_url.- variable que contiene la URL donde redirigirá la opción de descargas, esta variable depende de la variable, fortress.download.
  • fortress.extension_help.- variable que indica si se muestra la opción ayuda para habilitar la extensión del navegador de Fortress Desktop
  • fortress.extension_help_url.- variable que contiene la URL donde se encuentra la ayuda para habilitar la extensión del navegador de Fortress Desktop, esta variable depende de la variable, fortress.extension_help.
  • fortress.subdelegations.- variable que indica si se permite la subdelegación de certificados entre usuarios de Viafirma Fortress.
  • fortress.show_auth_cache.- variable que indica si se muestra el check "caché de credenciales en el wizard de activación del usuario".
  • fortress.multifactor_auth.- variable que indica si se obliga a emplear dos factores de autenticación a todos los usuarios de la plataforma
  • fortress.multifactor_super_required.- variable que indica si se obliga a emplear dos factores de autenticación a los administradores globales
  • fortress.multifactor_admin_auth.- variable que indica si se permite configurar a nivel de grupo el empleo de dos factores de autenticación para los administradores del grupo
  • fortress.terms_and_conditions_url.- variable que indica la url de redireccionamiento a términos y condiciones a la hora de crear un usuario.
  • fortress.delay_repudiation.- variable que permite activar retardo/repudio a nivel de plataforma
  • fortress.export.- variable que indica si se permite exportar los listados a CSV
  • fortress.timezone.- variable que permite establecer el timezone por defecto empleado en la plataforma, por defecto "Europe/Madrid"
  • fortress.login_page_title.-Titulo del menu derecho de la pagina de login
  • fortress.login_page_subtitle.-Subtitulo del menu derecho de la pagina de login
  • fortress.activity.filter_max_days. Número máximo de días que permite filtrar a un administrador en el filtro de actividad
  • fortress.app_client_id.- cliente que emplearán las APPS IOs y Android que interactuarán con esta instancia de Fortress.
  • fortress.disable_appQR.- Deshabilitar el escaneo para configurar las Apps a la instancia de Fortress
  • fortress.locales.- lenguajes soportados en el aplicativo, por defecto es,en
  • fortress.default_locale.-Seleccionar el lenguaje por defecto que empleará el aplicativo, por defecto es: "es"
  • fortress.disable_right_component_login_page.-Oculta el panel derecho, de la pantalla de login
  • fortress.show_activity.-Permite deshabilitar la actividad
  • fortress.statistics.active.-Permite deshabilitar las estadísticas
  • fortress.group.expiration.active.- Permite deshabilitar mostrar la fecha de expiración asociada a los grupos
  • fortress.group_limits.-Permite mostrar u ocultar la configuración de límites de uso asociadas al grupo
  • fortress.show_group_expiration_date.-Permite mostrar u ocultar la sessión la configuración de la fecha de expiración del grupo
  • fortress.show_cookies_policy.-Indica si se muestra la política de cookies
  • fortress.disabled_client_user_activity.- Permite deshabilitar la actividad asociada a los sistemas clientes
  • fortress.privacy_policy_url.- Url que muestra la política de privacidad
  • fortress.obfuscate.- Valor booleano, que permite establecer si se ofuscará la información sensible de los usuarios
  • fortress.inactivity_limit.- Booleano. Indica si se habilita el límite por inactividad
  • fortress.account.expiration.- ntero. Número de días a partir del cual los usuarios que no interaccionan con la plataforma se bloquearán.
  • fortress.password_expiration.- Booleano. Indica si se habilita la expiración de contraseñas
  • fortress.account.password.expiration.- Entero. Número de días que el usuario podrá emplear la contraseña.
  • fortress.password_limits.- Entero. Número de contraseñas utilizadas por el usuario.
  • fortress.single_token.- Valor booleano, que indica si se limita el empleo de un token por usuario/equipo
  • fortress.message_path.- Path indicado se alojarán los ficheros con i18n, se debe añadir un fichero de mensajes por cada lenguaje configurado en la plataforma. Por defecto "es,en", aunque estos pueden ser sobreescritos en la variable fortress.locales, del fichero fortress.properties.
  • fortress.cookies_path.- Path donde se encuentra los archivos .md de las políticas de cookies
  • fortress.cookies_url.- Url donde informará de la política de cookies
  • fortress.template_path.-Path que alojará las plantillas personalizadas
  • fortress.node.- Identificador del nodo
  • fortress.theme.- Tema aplicado
  • fortress.title.- Título del aplicativo
  • fortress.auth_cache.- Valor booleano que permite indicar si se permite emplear caché de credenciales
  • fortress.certificate_password_fails_to_lock.-Número máximo de intentos de validación de la password antes de bloquear el certificado
  • fortress.export_policies.- Exportar Políticas
  • fortress.eidas_compliance.- Adapta el aplicativo a la directiva eidas
  • fortress.max_delegations.- Número maximo de delegaciones de la plataforma
  • fortress.max_certificates.- Número maximo de certificados de la plataforma
  • fortress.max_groups.- Número maximo de grupos de la plataforma
  • fortress.max_users.- Número maximo de usuarios de la plataforma
  • fortress.show_statistic.- Mostar las estadististicas
  • fortress.show_alert.- Mostar las alertas
  • fortress.custom_theme.- Permitir personalizar los estilos a nivel de grupo
  • fortress.show_terms_and_conditions.- Mostrar opción de menú, términos y condiciones
  • fortress.request_policy_modification.- Indica si se bloquearán las delegaciones, cuando se modifique algún datos de la delegación
  • fortress.version.- versión
  • fortress.full_version.- versión completa
  • fortress.allow_app_signature.- Indica si se permite firmar desde las APPs de Fortress
  • fortress.delete_user_account.- Variable que habilita la eliminación del propio usuario desde su perfil
  • fortress.configTsa.-Indica si se permite gestionar las TSAs en la plataforma
  • fortress.certificate_source.-Variable que permite configurar por grupo, si se desea o no mostrar el otigrn de los certificados, P12 si el certificado se ha importado o la CA origen, en caso de generarse el certificado directametne en fortress.
  • fortress.normalize_group_code.- Variable que indica si se agrega al código de los subgrupos el código del grupo padre, valor por defecto true, es decir, si el grupo padre tiene por código padre a todos los subgrupos del grupo, si no comienzan con el código del grupo padre se agrega este al código introducido al definir el subgrupo.
  • fortress.show_unlock_idp_link.- [true/false], por defecto es false, variable que indica si se muestra o no un enlace en la pantalla de bloqueo de un factor de autenticación que permite enviar un correo para desbloquear el factor de autenticación bloqueado.
  • fortress.replace_certificate.- Variable empleada para permitir sustituir un certificado empleado para realizar firmas desatendidas por otro
  • fortress.manage_ra.- Variable que indica si se pueden gestionar las RAs embebidas para cada grupo
  • fortress.log_activity.- Variable empleada para alojar el log de la aplicación en fichero de log, en lugar de alojarlo en BD
  • fortress.replace_certificate_code.- [true/false], por defecto es false, variable que indica si se permite o no renombrar los códigos de certificado, de los certificados empleados para realizar firmas desatendidas.
  • fortress.activate_user_subtitle.- [true/false], por defecto es false, variable que indica si se permite o no agregar un subtítulo en la pantalla de introducción de password, asistente activación de usuario al recibir un certificado.
  • fortress.platform_tsa.- Variable que permite activar o desactivar el empleo de la tsa global desde un sistema cliente global
Deshabilitar la actividad

Permite deshabilitar el acceso a la actividad, para los usuarios de la plataforma será necesario agregar al archivo fortress.properties la propiedad fortress.showActivity=false

Eliminación los certificados expirados

Para eliminar los certificados expirados en los entornos no cualificables se ha agregado al archivo fortress.properties la propiedad:

fortress.remove_keys=true
Configuración del servidor de correo

Viafirma Fortress envía correos electrónicos y para ello, es necesario configurar el servidor de correo utilizado:

# EMAIL
fortress.email.host=
fortress.email.port=
fortress.email.username=
fortress.email.password=
fortress.email.from=
fortress.email.auth=
fortress.email.ssl_enable=
fortress.email.tls_enable=
fortress.email.sslProtocols=
fortress.email.connectiontimeout=
fortress.email.timeout=
fortress.email.writetimeout=
  • fortress.email.connectiontimeout.- variable que indica el número de milisegundos permitido para establecer la conexión con el servidor de SMTP, si no se indica dicha propiedad por defecto serán 30 segundos.
  • fortress.email.timeout.- variable que indica el número de milisegundos permitido de lectura para enviar el correo, si no se indica dicha propiedad por defecto será 1 minuto.
  • fortress.email.writetimeout.- variable que indica el número de milisegundos permitido de escritura para enviar el correo, si no se indica dicha propiedad por defecto será 1 minuto.
  • fortress.email.sslProtocols.- Protocolos SSL soportados, por ejemplo TLSv1.1 TLSv1.2
Configuración de la cuenta de usuario
Configuración empleada en el proceso de firma

Viafirma Fortress emplea el siguiente conjunto de variables en el proceso de firma:

# SIGNATURE
fortress.signature.home=
fortress.signature.trusted_keystore.path=
fortress.signature.trusted_keystore.password=
fortress.signature.custody_code=
fortress.signature.custody_storage=
fortress.signature.certificate_support_path=
fortress.signature.revocation_type_request=
fortress.signature.tslUrl=
#CERTIFICA SUPPORT RELOAD
fortress.signature.reload.certificate_support.active=
fortress.signature.reload.certificate_support.schedule=
#CA SUPPORT RELOAD
fortress.signature.reload.ca_support.active=
fortress.signature.reload.ca_support.schedule=

Donde:

  • fortress.signature.home.- Tal y como se ha indicado en el apartado 3.1.5.1.3, path base donde se alojarán los distintos ficheros que intervienen en el proceso de firma.
  • fortress.signature.trusted_keystore.path.- Tal y como se ha indicado en el apartado 3.1.5.1.4, fortress emplea un almacén de certificados donde se alojan los certificados de las CAs y subCAs permitidas para la firma.
  • fortress.signature.trusted_keystore.password .- clave del almacén de certificados
  • fortress.signature.custody_code.- Código que identifica los archivos custodiados por fortress, dicho valor normalmente será FORTRESS.
  • fortress.signature.custody_storage.- variable que indica si los documentos firmados persistirán en Viafirma Fortress.
  • fortress.signature.certificate_support_path.- Fichero con formato Json, que contiene las políticas de los certificados soportadas por Viafirma Fortress.
  • fortress.signature.revocation_type_request.-Dada la clave pública de un certificado en formato X509Certificate se facilita toda la información referente a la validez del certificado y de su cadena de confianza.

    Se permite la validación

    • DEFAULT: Se utilizará el sistema de validación definido en el sistema de soporte de certificados.
    • ONLINE: Para validar el estado de revocación de cada certificado se accede a la fuente de validación disponible preferente por OCSP.
    • ONLINE_WITH_CACHE: Para validar el estado de revocación de cada certificado se accede a la fuente de validación disponible preferente por OCSP, pero utilizando caché de CRL, se utilizará la crl ya descargada siempre que esta sea válida.
    • CRL: Se valida el estado de revocación consultando las listas de revocación de certificados CRL, siempre se descarga la CRL, no se utiliza cache. Si no puede consultar el estado de revocación mediante CRL se producirá un error.
    • CRL_CACHE: Se valida el estado de revocación consultando las listas de revocación de certificados CRL, utilizando caché de CRL, se utilizará la crl ya descargada siempre que esta sea válida.
    • OCSP: Se valida el estado de revocación del certificado haciendo uso del protocolo OCSP. Si no se puede consultar el estado de revocación se producirá un error.
  • fortress.signature.tslUrl.- Url de la tsl a emplear por el aplicativo
  • fortress.signature.reload.certificate_support.active.- [true/false], por defecto es false, variable que indica si se recargará el Certificate Support
  • fortress.signature.reload.certificate_support.schedule.- Periodicidad con la que se ejecutará el proceso de recarga del Certificate Support.
  • fortress.signature.reload.ca_support.active.- [true/false], por defecto es false, variable que indica si se recargará el CA Support, OJO!! Debe de estar activado el empleo de CA Support en la plataforma.
  • fortress.signature.reload.ca_support.schedule.- Periodicidad con la que se ejecutará el proceso de recarga del CA Support.
    Configuración eliminación de documentos custodiados

Viafirma Fortress emplea el siguiente conjunto de variables en el proceso de eliminación de documentos custodiados:

# DELETE CUSTODY DOCUMENTS
fortress.signature.custody_delete_active=
fortress.signature.default_custody_days=
fortress.signature.custody.expiration.schedule=

Donde:

  • fortress.signature.custody_delete_active.- Indica si se ejecutará la eliminación de documentos custodiados.
  • fortress.signature.default_custody_days.- Número de días por defecto que se custodiarán los documentos.
  • fortress.signature.custody.expiration.schedule .- Indica cuando se lanzará el proceso.
A continuación se muestran algunos patrones de ejemplo que se pueden emplear en el parámentro fortress.signature.custody.expiration.schedule

* "0 0 * * * *" = the top of every hour of every day.
* "*/10 * * * * *" = every ten seconds.
* "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
* "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day.
* "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
* "0 0 0 25 12 ?" = every Christmas Day at midnight
Configuración notificación de próxima expiración de certificados

Viafirma Fortress emplea el siguiente conjunto de variables en el proceso de notificación de próxima expiración de certificados:

# CERTIFICATE EXPIRATION
fortress.notification.active=
fortress.notification.certificate_expiration_days=
fortress.notification.schedule=

Donde:

  • fortress.notification.active.- Indica si se notificará o no la próxima expiración de los certificados.
  • fortress.notification.certificate_expiration_days.- Número de días que el procedimiento comprobará si debe notificar la próxima expiración de los certificados. Permite indicar varios valores númericos separados por ",".
  • fortress.notification.schedule .- Indica cuando se lanzará el proceso.
A continuación se muestran algunos patrones de ejemplo que se pueden emplear en el parámentro fortress.notification.schedule

* "0 0 * * * *" = the top of every hour of every day.
* "*/10 * * * * *" = every ten seconds.
* "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
* "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day.
* "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
* "0 0 0 25 12 ?" = every Christmas Day at midnight
Configuración calculo estadísticas por grupo

Viafirma Fortress emplea el siguiente conjunto de variables en el proceso de obtención de datos estadísticos por grupo

# STATISTIC
fortress.statistics.active=
fortress.statistics.schedule=

Donde:

  • fortress.statistics.active.- Indica si se ejecutará el cálculo de estadísticas.
  • fortress.statistics.schedule .- Indica cuando se lanzará el proceso.
A continuación se muestran algunos patrones de ejemplo que se pueden emplear en el parámentro fortress.statistics.schedule

* "0 0 * * * *" = the top of every hour of every day.
* "*/10 * * * * *" = every ten seconds.
* "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
* "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day.
* "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
* "0 0 0 25 12 ?" = every Christmas Day at midnight
Configuración control expiración de grupos

Viafirma Fortress emplea el siguiente conjunto de variables en el proceso de validación de grupos expirados

# STATISTIC
fortress.group.expiration.active=
fortress.group.expiration.schedule=

Donde:

  • fortress.group.expiration.active.- Indica si se ejecutará la comprobación de grupos expirados
  • fortress.group.expiration.schedule .- Indica cuando se lanzará el proceso.
A continuación se muestran algunos patrones de ejemplo que se pueden emplear en el parámentro fortress.group.expiration.schedule

* "0 0 * * * *" = the top of every hour of every day.
* "*/10 * * * * *" = every ten seconds.
* "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
* "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day.
* "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
* "0 0 0 25 12 ?" = every Christmas Day at midnight
Configuración del HSM que empleará Viafirma Fortress

Como se indicó en el apartado 2.4, fortress permite configurar el almacén centralizado de certificados donde se alojarán los certificados de los usuarios. Dependiendo del proveedor empleado serán necesarios unos valores y otros, para poder realizar la conexión y operar con este. Por ejemplo si empleamos un keystore para almacénar los certificados, las variables a configurar serían:

# KEYSTORE
fortress.keystore.provider=JKS
fortress.keystore.jks.path=/pathToKeystore/keystore.jks
fortress.keystore.jks.password=*******
fortress.keystore.masterkey.alias=fortress-master-key
fortress.keystore.masterkey.autogenerated=true

Donde:

  • fortress.keystore.provider.- tipo de proveedor, JKS
  • fortress.keystore.jks.path.- ruta donde se aloja el amacen de certificados de tipo jks
  • fortress.keystore.jks.password.- password del amacen de certificados
  • fortress.keystore.masterkey.alias.- alias de la master key
  • fortress.keystore.masterkey.autogenerated.- genera automáticamente la master key
Configuración del HSM Safenet Luna

En caso de emplear el HSM Luna de Safenet, las variables a indicar serían:

# KEYSTORE
fortress.keystore.provider=SafeNet
fortress.keystore.safenet.partition.label=
fortress.keystore.safenet.partition.password=*******
fortress.keystore.safenet.partition.slotNumber=
fortress.keystore.safenet.v7=true
fortress.keystore.mechanism=CKM_AES_KWP
fortress.keystore.migrate_mechanism=

Donde:

  • fortress.keystore.provider.- tipo de proveedor, SafeNet
  • fortress.keystore.safenet.partition.label.- etiqueta asociada a la partición
  • fortress.keystore.safenet.partition.password.- password de la partición
  • fortress.keystore.safenet.partition.slotNumber.- número de slot
  • fortress.keystore.safenet.v7.- Parámetro que debe incorporarse en la configuración para activar el soporte a clientes lunas >7.3.
  • fortress.keystore.mechanism.- Parámetro necesario para versiones Firmware 7.7.0 y superior, activando con ello el mecanismo CKM_AES_KWP en lugar del mecanismo usado en versiones anteriores CKM_AES_CBC_PAD.
  • fortress.keystore.migrate_mechanism.- Valor booleano que indica si se migrarán las claves al nuevo mecanismo de WRAPEO.
Configuración del HSM ncipher

En caso de emplear el HSM ncipher, las variables a indicar serían:

# KEYSTORE
fortress.keystore.provider=SunPKCS11-ncipherProvider
fortress.keystore.pkcs11.password=
fortress.keystore.pkcs11.configName=

Donde:

  • fortress.keystore.provider.- tipo de proveedor, SunPKCS11-ncipherProvider
  • fortress.keystore.pkcs11.password.- password del HSM
  • fortress.keystore.pkcs11.configName.- ruta a donde se encuentra el fichero de configuración del cliente
Configuración Soporte CA Support

En caso de desear emplear CA Support para validar los certificados, será necesario agregar la siguiente información:

# CA SUPPORT
fortress.signature.caSupport.active=
fortress.signature.caSupport.url=
fortress.signature.caSupport.paths=

Donde:

  • fortress.signature.caSupport.active.- Variable que permite activar o desactivar la validación empleando CA Support, por defecto está desactivado
  • fortress.signature.caSupport.url.- URL del servicio CA Support
  • fortress.signature.caSupport.paths.- paths a los que se desea suscribir
Configuración certificate-support (Validación a medida)

La configuración incluida en viafirma fortress por defecto incluye la validación de TODOS los certificados involucrados en la firma.

Para incluir excepciones en esta configuración por defecto podrán hacer uso del fichero de configuración certificate_support.json. Dicho fichero permite aplicar reglas especiales para diferentes certificados, para incluir un comportamiento individual sobre los certificados, podrán identificar al certificado digital por dos medios:

¿Cómo identificar a un certificado?

por su número de serie

Ejemplo:

"502935155163419937520047732467136041576549946305": {
      "subject": "VIAFIRMA TSA 003",
      "revocationType": "CRL_CACHE"
}

por la política de certificado

Ejemplo:

"1.3.6.1.4.1.34253.7.3": {
   "subject": "VIAFIRMA TSA 003",
   "revocationType": "CRL_CACHE"
}

De esta segunda forma optamos por aplicar una regla a un conjunto de certificados, en concreto a todos aquellos que tengan una política de certificados con OID número 1.3.6.1.4.1.34253.7.3, según el ejemplo anterior.

¿Cómo incluir excepciones de validación por certificado?
Modificar el mecanismo de validación de certificados
revocationType:[validation_type]

donde podremos usar las siguientes opciones:

Tipo Descripción
ONLINE_WITH_CACHE mecanismo por defecto; primero se intenta validar vía OCSP, y si este mecanismo falla se intenta por CRL_CACHE.
ONLINE primero se intenta vía OCSP, y si este mecanismo falla se intenta vía CRL
CRL_CACHE solo se intenta mediante la consulta de la CRL previamente cacheada por el sistema
CRL solo se intenta mediante la consulta online de la CRL
OCSP solo se intenta mediante la consulta online del OCSP

Ejemplo:

"3118166592089583322": {
      "subject": "Revoked certificate JUnit test",
      "type": "Public Employee",
      "revocationType": "CRL_CACHE"
    }

En el ejemplo de arriba, queremos que el certificado con serialnumber 3118166592089583322 se valide mediante CRL_CACHE, sin importar cuál sea el mecanismo establecido por defecto.

Esta configuración obedece a una decisión orientada a una alta concurrencia y en pro de un mejor rendimiento. Se trata de un mismo certificado utilizado, por ejemplo, para firmas desatendidas en procesos batch, por lo que no se considera necesario hacer una validación ONLINE del estado de revocación en cada operación de firma. LA CRL_CACHE se hace offline, y el sistema se encarga de actualizar la CRL cuando ésta haya caducado.

Modificar la fuente de validación del certificado

Por defecto la validación se hará haciendo uso de la fuente de validación informada en las propiedades de cada certificado. Normalmente cuentan con dos mecanismos: OCSP y/o CRL.

Si queremos incorporar una fuente de validación a medida, se podrá hacer incluyéndolo en la excepción, tal y como se explica a continuación:

"certificates": {
    "3118166592089583322": {
      "subject": "Revoked certificate JUnit test",
      "type": "Public Employee",
      "revocationType": "CRL_CACHE",
      "crls": [
        "http://192.168.100.43/myPrivatesubCA.crl",
        "http://192.168.100.44/myPrivatesubCA.crl"
      ],
      "ocsps": [
        "http://192.168.100.45/myPrivateOCSP"
      ]
    }

En el ejemplo anterior se fuerza la validación del certificado con serialnumber 3118166592089583322 mediante la CRL informada en dos URLs privadas. Esa validación "privada" no resta seguridad, ya que aunque a priori no parezca una fuente oficial del prestador que emitió el certificado, intermamente el sistema verifica que la CRLs haya sido firmada por el mismo prestador que ha emitido el certificado que se intenta verificar.

Este tipo de configuración obedece a entornos donde cuentan con reglas muy restrictivas con las salidas a internet, y cuentan con proxies que se encargan de exponer en direcciones locales recursos que han sido obtenidos mediante otros mecanismos automatizados ajenos a Viafirma.

Certificado de confianza

Al identificar un certificado como certificado final de confianza evitamos la validación de toda su jerarquía superior. Por ejemplo, si una CA o un certificado de TSU ya están incluidos en una TSL de confianza, no es necesario validar a su ROOT, evitando con ello tiempos y validaciones innecesarias durante el proceso.

Para marcar un certificado como confiable basta con identificarlo y agregarle la propiedad trusted, como se muestra en el siguiente ejemplo:

"1.3.6.1.4.1.34253.7.3": {
   "subject": "VIAFIRMA TSA 003",
   "trusted": true
}
¿Se puede desactivar la validación?

No se permite desactivar la validación de certificados y documentos a nivel general. Si necesitan hacerlo debes realizar la siguiente configuración que afectará únicamente a los siguientes patrones de uso:

Identificar excepciones de validación

Tal como se explica en la sección "¿Cómo identificar a un certificado?" tendrán que identificar qué certificados o tipo de certificados van a contar con la excepción.

Una vez identificados, deben incluir la propiedad "validationDisabled", tal y como se muestra en el siguiente ejemplo:

"certificates": {
    "3118166592089583322": {
      "subject": "Revoked certificate JUnit test",
      "type": "Public Employee",
      "revocationType": "CRL_CACHE",
      "validationDisabled": true      
    }
¿Dónde aplica esta excepción?

Para que la excepción "validationDisabled" aplique deben confirmar que no se use estándares de FORMATOS DE FIRMA que requieran validación, es decir, NO podrán usar los siguientes formatos de firma:

  • XAdES -LT
  • XAdES -LTV
  • PAdES -LT
  • PAdES -LTV

Es decir, si usan estos formatos de firma SIEMPRE se procederá a validar el certificado o certificados involucrados en la firma, aunque estén usando una excepción "validationDisabled".

El resto de formatos de firma podrán ser completados sin necesidad de validar.

Configuración del Tema

Para establecer un tema propio para la instalación de Viafirma Fortress en las dependencias de un cliente, será necesario indicar la siguiente variable

# THEME
fortress.theme=

Donde:

  • fortress.theme.-identificador del tema que describe la apariencia del aplicativo para un cliente en cuestión, solo para instalaciones propias en cliente.
Configuración de las RAs

Viafirma Fortress permite configurar 0 a n RAs para solicitar certificados asociados a la instancia de fortress desplegada. Si no se configura ninguna RA, Viafirma Fortress únicamente podrá emplear los certificados importados por los usuarios.

Viafirma Fortress ha implementado conectores con las siguientes RAs:

Ra CSR.- permite generar el CSR para emplearlo en aquellas RAs que permitan generar los certificados empleando dicho CSR.
# RA CSR
fortress.ra.csr.active=true
  • fortress.ra.csr.active=true.- variable que indica si la generación del CSR esta activa
Ra Avansi.- permite interactuar con la RA Avansi
# RA AVANSI
fortress.ra.avansi.active=
fortress.ra.avansi.api.url=
fortress.ra.avansi.api.consumer_key=
fortress.ra.avansi.api.consumer_secret=
fortress.ra.avansi.schedule=
fortress.ra.avansi.certificate_password=
fortress.ra.avansi.change_password=

Donde:

  • fortress.ra.avansi.active.- variable que indica si la RA de avansi esta activa
  • fortress.ra.avansi.api.url.- URL de la RA
  • fortress.ra.avansi.api.consumer_key.- consumer key
  • fortress.ra.avansi.api.consumer_secret.-consumer secret
  • fortress.ra.avansi.schedule.- Periodcidad en la que se comprobará la creación de nuevos certificados
  • fortress.ra.avansi.certificate_password.- variable que indica si el certificado creado desde la RA de optic está protegido por una PIN.
  • fortress.ra.avansi.change_password.- variable que indica si es necesario cambiar la password
Ra Thomas Signe.- permite interactuar con la RA de Thomas Signe
# RA TSIGNE
fortress.ra.tsigne.active=
fortress.ra.tsigne.api.url=
fortress.ra.tsigne.api.consumer_key=
fortress.ra.tsigne.api.consumer_secret=
fortress.ra.tsigne.schedule=
fortress.ra.tsigne.certificate_password=
fortress.ra.tsigne.change_password=

Donde:

  • fortress.ra.tsigne.active.- variable que indica si la RA de tsigne esta activa
  • fortress.ra.tsigne.api.url.- URL de la RA
  • fortress.ra.tsigne.api.consumer_key.- consumer key
  • fortress.ra.tsigne.api.consumer_secret.-consumer secret
  • fortress.ra.tsigne.schedule.- Periodcidad en la que se comprobará la creación de nuevos certificados
  • fortress.ra.tsigne.certificate_password.- variable que indica si el certificado creado desde la RA de optic está protegido por una PIN.
  • fortress.ra.tsigne.change_password.- variable que indica si es necesario cambiar la password
Ra Optic.- permite interactuar con la RA de la Optic
fortress.ra.optic.active=
fortress.ra.optic.api.url=
fortress.ra.optic.api.consumer_key=
fortress.ra.optic.api.consumer_secret=
fortress.ra.optic.schedule=
fortress.ra.optic.certificate_password=
fortress.ra.optic.change_password=

Donde:

  • fortress.ra.optic.active.- variable que indica si la RA de optic esta activa
  • fortress.ra.optic.api.url.- URL de la RA
  • fortress.ra.optic.api.consumer_key.- consumer key
  • fortress.ra.optic.api.consumer_secret.-consumer secret
  • fortress.ra.optic.schedule.- Periodcidad en la que se comprobará la creación de nuevos certificados
  • fortress.ra.optic.certificate_password.- variable que indica si el certificado creado desde la RA de optic está protegido por una PIN.
  • fortress.ra.optic.change_password.- variable que indica si es necesario cambiar la password
Ra Ogtic.- permite interactuar con la RA de la Ogtic
fortress.ra.ogtic.active=
fortress.ra.ogtic.api.url=
fortress.ra.ogtic.api.consumer_key=
fortress.ra.ogtic.api.consumer_secret=
fortress.ra.ogtic.schedule=
fortress.ra.ogtic.certificate_password=
fortress.ra.ogtic.change_password=

Donde:

  • fortress.ra.ogtic.active.- variable que indica si la RA de ogtic esta activa
  • fortress.ra.ogtic.api.url.- URL de la RA
  • fortress.ra.ogtic.api.consumer_key.- consumer key
  • fortress.ra.ogtic.api.consumer_secret.-consumer secret
  • fortress.ra.ogtic.schedule.- Periodcidad en la que se comprobará la creación de nuevos certificados
  • fortress.ra.ogtic.certificate_password.- variable que indica si el certificado creado desde la RA de optic está protegido por una PIN.
  • fortress.ra.ogtic.change_password.- variable que indica si es necesario cambiar la password
Ra firmaprofesional.- permite interactuar con la RA de firma profesional
fortress.ra.firmaprofesional.active=
fortress.ra.firmaprofesional.public_key_path=
fortress.ra.firmaprofesional.certificate_password=
fortress.ra.firmaprofesional.change_password=
fortress.ra.firmaprofesional.client_id=

Donde:

  • fortress.ra.firmaprofesional.active.- variable que indica si la RA de firmaprofesional esta activa
  • fortress.ra.firmaprofesional.public_key_path.- ruta donde se aloja la clave pública proporcionada por firmaprofesional
  • fortress.ra.firmaprofesional.certificate_password.- variable que indica si el certificado creado desde la RA de firmaprofesional está protegido por una PIN.
  • fortress.ra.firmaprofesional.change_password.- variable que indica si es necesario cambiar la password
  • fortress.ra.firmaprofesional.client_id.- permite establecer el sistema cliente, que se empleará para securizar las conexiones empleando el nuevo conector de firmaprofesional basado en OAtuh2.
Ra camerfirma.- permite interactuar con la RA de camerfirma (Sin mantenimiento)
fortress.ra.camerfirma.active=
fortress.ra.camerfirma.certificate_password=
fortress.ra.camerfirma.change_password=

Donde:

  • fortress.ra.camerfirma.active.- variable que indica si la RA de camerfirma esta activa
  • fortress.ra.camerfirma.certificate_password.- variable que indica si el certificado creado desde la RA de camerfirma está protegido por una PIN.
  • fortress.ra.camerfirma.change_password.- variable que indica si es necesario cambiar la password
Ra camercloud.- permite interactuar con la RA de Camerfirma
fortress.ra.camercloud.active=
fortress.ra.camercloud.public_key_path=
fortress.ra.camercloud.certificate_password=
fortress.ra.camercloud.change_password=
fortress.ra.camercloud.client_id=

Donde:

  • fortress.ra.camercloud.active.- variable que indica si la RA de Camerfirma esta activa
  • fortress.ra.camercloud.public_key_path.- ruta donde se aloja la clave pública proporcionada por Camerfirma
  • fortress.ra.camercloud.certificate_password.- variable que indica si el certificado creado desde la RA de Camerfirma está protegido por una PIN.
  • fortress.ra.camercloud.change_password.- variable que indica si es necesario cambiar la password
  • fortress.ra.camercloud.client_id.- permite establecer el sistema cliente, que se empleará para securizar las conexiones empleando el nuevo conector de Camerfirma basado en OAtuh2.
Ra accv.- permite interactuar con la RA de Accv
fortress.ra.accv.active=
fortress.ra.accv.certificate_password=
fortress.ra.accv.change_password=
fortress.ra.accv.client_id=

Donde:

  • fortress.ra.accv.active.- variable que indica si la RA de accv esta activa
  • fortress.ra.accv.certificate_password.- variable que indica si el certificado creado desde la RA de accv está protegido por una PIN.
  • fortress.ra.accv.change_password.- variable que indica si es necesario cambiar la password
  • fortress.ra.accv.client_id.- permite establecer el sistema cliente, que se empleará para securizar las conexiones empleando el nuevo conector de ACCV basado en OAtuh2.
Configuración del Ldap

Viafirma Fortress permite interactuar contra el LDAP configurado para autenticar a un usuario, para poder emplear la conexión con LDAP será necesario indicar las siguientes variables:

# LDAP
fortress.ldap.active=
fortress.ldap.host=
fortress.ldap.domain=
fortress.ldap.path=CN=
fortress.ldap.field.username=
fortress.ldap.field.nif=
fortress.ldap.field.entirename=
fortress.ldap.field.mail=
fortress.ldap.field.phone=
fortress.ldap.username=
fortress.ldap.password=

Donde:

  • fortress.ldap.active.- Indica si está activo o no.
  • fortress.ldap.host.-URL de conexión con el LDAP, por ejemplo: LDAP://localhost:389
  • fortress.ldap.domain.- Nombre del dominio
  • fortress.ldap.path.-Path base donde se encuentran los usuarios, por ejemplo CN=Users,DC=prueba,DC=local
  • fortress.ldap.field.username.- campo que indica el código de usuario almacénado en el ldap
  • fortress.ldap.field.entirename.- campo que contiene el nombre del usuario en el LDAP, normalmente cn
  • fortress.ldap.field.nif.- campo que indica el nif del usuario
  • fortress.ldap.field.mail.- campo que contiene el email del usuario en el LDAP, normalmente mail
  • fortress.ldap.field.phone.- campo que contiene el teléfono del usuario en el LDAP, normalmente telephoneNumber
  • fortress.ldap.username.- Usuario que conecta con el LDAP
  • fortress.ldap.password.- clave del usuario que conecta con el LDAP
Autentitación con Ldap

Viafirma Fortress permite autenticar a un usuario contra el LDAP configurado:

#LDAP Authentication
fortress.ldap.auth_search_filter=
fortress.ldap.user_mappings=
fortress.ldap.auth_group_search_filter=
fortress.ldap.user_search_base=
fortress.ldap.group_search_base=
fortress.ldap.role_prefix=

Donde:

  • fortress.ldap.auth_search_filter.- filtro de búsqueda de los usuarios, por ejemplo: (&(objectClass=User)(sAMAccountName={0})(|(userAccountControl=512)(userAccountControl=66048))
  • fortress.ldap.user_mappings.-Mapeo de los campos del usuario con los devueltos desde el LDAP, por ejemplo: code=sAMAccountName\nemail=mail\nfirstName=givenName\nlastName=sn\nnif=department\ndateAdded=whenCreated\ndateUpdated=whenChanged\nstatus=userAccountControl\nmobile=telephoneNumber
  • fortress.ldap.auth_group_search_filter.- filtro de búsqueda de los grupos
  • fortress.ldap.user_search_base.- cadena base donde se alojan los usuarios
  • fortress.ldap.group_search_bas.- cadena base donde se alojan los grupos
  • fortress.ldap.role_prefix.- Prefijo del rol
Configuración para la importación de usuario mediante LDAP

A continuación se indican las variables, necesarias para habilitar la importación de usuarios contra un LDAP

#LDAP Import
fortress.ldap.schedule=
fortress.ldap.filter=
fortress.ldap.group_search_filter=
fortress.ldap.user_imports=
fortress.import.user.path.ldap_user_process=

Donde:

  • fortress.ldap.schedule.- Variable que indica la periodicidad en la que se ejecutará la importación
  • fortress.ldap.filter.- filtro de búsqueda de los usuarios a importar
  • fortress.ldap.group_search_filter.- filtro de búsqueda de los grupos
  • fortress.ldap.user_imports.- Variable que indica si la importación de usuarios está activa
  • fortress.import.user.path.ldap_user_process.- Path que almacenará los archivos generados con el resultado de la importación.
Configuración empleando SAML

Viafirma Fortress permite interactuar contra provedor de identidad externo empleando el protocolo SAML configurado para autenticar a un usuario, para poder emplear la conexión con LDAP será necesario indicar las siguientes variables:

#SAML
fortress.saml.active=
fortress.saml.metadata_url=
fortress.saml.metadata_path=
fortress.saml.create_user=
fortress.saml.logout_SSO=
fortress.saml.sign_request=
fortress.saml.certificate_code=
fortress.saml.certificate_password=
fortress.saml.validate_response_signature=
fortress.saml.validate_assertion_signature=
fortress.saml.validation_credential_path=
fortress.saml.entity_id=
fortress.saml.issuer_format=
fortress.saml.deflate=
fortress.saml.auth_payload=
fortress.saml.logout_payload=
fortress.saml.field.username=
fortress.saml.field.given_name=
fortress.saml.field.surname=
fortress.saml.field.email_address=
fortress.saml.field.mobile_phone=
fortress.saml.field.role=
fortress.saml.admin_role=
fortress.saml.enroller_role=
fortress.saml.auditor_role=

Donde:

  • fortress.saml.active.- Indica si está activo o no el acceso mediante SAML
  • fortress.saml.metadata_url.- especifica la URL de metadatos del proveedor SAML.
  • fortress.saml.metadata_path.- especifica la ruta del fichero de metadatos del proveedor SAML (obligatorio si no se informa el parámetro metadata_url)
  • fortress.saml.create_user.- indica si se crea el usuario si este no existe en la plataforma (por defecto false)
  • fortress.saml.logout_SSO.- indica si al cerrar sesión en Fortress se cierra sesión en el proveedor de SAML (por defecto true)
  • fortress.saml.sign_request.- indica si se firma la petición de login o logout.
  • fortress.saml.certificate_code.- código del certificado a usar para firmar las peticiones. (obligatorio si se se activa el parámetro sign_request)
  • fortress.saml.certificate_password.- password del certificado de firma de peticiones (obligatorio solo si se activa el password de certificados a nivel de plataforma)
  • fortress.saml.validate_response_signature.- indica si se valida la firma en la respuesta SAML (por defecto false)
  • fortress.saml.validate_assertion_signature.- indica si se valida la firma en la aserción SAML (por defecto false)
  • fortress.saml.validation_credential_path.- indica la ruta al .pem del certificado a usar en la validación de las firmas. Si se informa sobreescribe al certificado obtenido en el metadata.
  • fortress.saml.entity_id.- indica el valor del entityId configurado en el proveedor de SAML (por defecto https://fortress.viafirma.com)
  • fortress.saml.issuer_format.- formato de Issuer configurado en el proveedor de SAML (por defecto urn:oasis:names:tc:SAML:2.0:nameid-format:entity)
  • fortress.saml.deflate.- indica si se debe realizar un deflate de la petición a SAML (por defecto true)
  • fortress.saml.auth_payload.- indica si se el proveedor de SAML requiere payload en la petición de autenticación (por defecto true)
  • fortress.saml.logout_payload.- indica si se el proveedor de SAML requiere payload en la petición de logout (por defecto true)
  • fortress.saml.field.username.- identificador del atributo que contiene el código de usuario (por defecto subject)
  • fortress.saml.field.given_name.- identificador del atributo que contiene el nombre de usuario (por defecto http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname)
  • fortress.saml.field.surname.- identificador del atributo que contiene el apellido de usuario (por defecto http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname)
  • fortress.saml.field.email_address.- identificador del atributo que contiene el email de usuario (por defecto http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress)
  • fortress.saml.field.mobile_phone.- identificador del atributo que contiene el teléfono de usuario (por defecto http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone)
  • fortress.saml.field.role.- identificador del atributo que contiene el rol de usuario (por defecto http://schemas.microsoft.com/ws/2008/06/identity/claims/role)
  • fortress.saml.admin_role.- valor del rol administrador (por defecto admin)
  • fortress.saml.enroller_role.- valor del rol registrador (por defecto enroller)
  • fortress.saml.auditor_role.- valor del rol auditor (por defecto auditor)
Configuración integración CAS

El uso de CAS en la plataforma requerirá que se den de alta en el fichero de propiedades los siguientes campos:

# CAS
fortress.cas.active=
fortress.cas.server_url=
fortress.cas.createUser=true
fortress.cas.logoutSSO=true
fortress.cas.userGroup=
fortress.cas.enrollerGroup=
fortress.cas.adminGroup=
fortress.cas.auditorGroup=
fortress.cas.field.username= 
fortress.cas.field.displayName= 
fortress.cas.field.mail= 
fortress.cas.field.phone=mobile
fortress.cas.field.memberOf=isMemberOf

Donde:

  • fortress.cas.active.- Valor booleano, que permite establecer si se activa el empleo de CAS a nivel de plataforma.
  • fortress.cas.server_url.- URL de CAS contra el que se quiere autenticar a los usuarios.
  • fortress.cas.logoutSSO.- Valor booleano, que permite establecer si se realizará o no el logout del SSO cuando se realice logout en la aplicación. Por defecto, true.
  • fortress.cas.createUser.- Valor booleano, que indica si se creará en la plataforma el usuario, en caso de no estar dado de alta en la misma y autenticar correctamente contra el CAS, valor por defecto true, ojo si dicho valor es false, la plataforma mostrará un mensaje indicando que el usuario no se encuentra en la paltaforma.

Mapeo de valores asociados a los usuarios en caso de crear los mismos, es decir, fortress.cas.createUser=true.

  • fortress.cas.field.username.- Campo de los valores devueltos por el CAS que se empleará como código de usuario. Por defecto, employeeNumber, si no hay ningún usuario en el sistema que coincida con el username indicado buscaremos por el principal.
  • fortress.cas.field.displayName.- Campo de los valores devueltos por el CAS que se empleará para obtener el nombre completo del usuario. Por defecto, displayName.
  • fortress.cas.field.mail.- Campo de los valores devueltos por el CAS que se empleará para obtener el email del usuario. Por defecto, mail.
  • fortress.cas.field.phone.- Campo de los valores devueltos por el CAS que se empleará para obtener el teléfono móvil del usuario (El teléfono debe contener el prefijo). Por defecto, mobile
  • fortress.cas.field.memberOf.- Campo de los valores devueltos por el CAS que se empleará para obtener los grupos del usuario. Por defecto, isMemberOf.

Mapeo de roles

Para poder asignar roles a los usuarios creados en la plataforma, es necesario asociar cada rol empleado con un grupo asociado al usuario, devueltos en la variable fortress.cas.field.memberOf.

  • fortress.cas.adminGroup.- Todos los usuarios pertenecientes al grupo asignado, se le asignará el rol ADMIN
  • fortress.cas.auditorGroup.- Todos los usuarios pertenecientes al grupo asignado, se le asignará el rol AUDITOR
  • fortress.cas.enrollerGroup.- Todos los usuarios pertenecientes al grupo asignado, se le asignará el rol ENROLLER
  • fortress.cas.userGroup.- Todos los usuarios pertenecientes al grupo asignado o que no pertenezcan a ninguno de los anteriores, se le asignará el rol USER.
Configuración integración VALID

El uso de VALID (validador de identidades del consorcio AOC) a nivel de plataforma y como factor de autenticación, siguiendo la guía de integración https://consorciaoc.github.io/VALid/. Para poder emplear VALID en la plataforma requerirá que se den de alta en el fichero de propiedades los siguientes parámetros de configuración:

#VALID
fortress.valid.active=
fortress.valid.auth_base=
fortress.valid.rest_base=
fortress.valid.client_id=
fortress.valid.client_secret=
fortress.valid.scope=autenticacio_usuari
fortress.valid.redirect_uri={{URL_BASE_FORTRESS}}/oauth2

Donde:

  • fortress.valid.active.- Activa el acceso mediante VALID a los usuarios de la plataforma. (por defecto false)
  • fortress.valid.auth_base.- Url base utilizada en las llamadas OAuth2 (autorización, token, refresh, revocación, logout).
  • fortress.valid.rest_base.- Url base utilizada en los servicios REST proporcionados por VALID (getUserInfo, getAuthenticationEvidence).
  • fortress.valid.client_id.- identifica a la aplicación cliente que está realizado la petición contra VALID
  • fortress.valid.client_secret.- Secreto proporcionado por VALID para validar a la aplicación
  • fortress.valid.scope.- Scope o ámbito a aplicar, valor por defecto; autenticacio_usuari
  • fortress.valid.redirect_uri.- URl de retorno, por defecto la respuesta debe redirigir a: /oauth2
Configuración integración OpenID Connect (OAuth2)

Integración de OpenID Connect (OAuth2) a nivel de plataforma siguiendo las especificaciones oficiales https://openid.net/specs/openid-connect-core-1_0.html. Para poder emplear OpenID Connect (OAuth2) en la plataforma requerirá que se den de alta en el fichero de propiedades los siguientes parámetros de configuración:

# OpenID Connect (OAuth2)
fortress.oidc.active=
fortress.oidc.auth_base=
fortress.oidc.rest_base=
fortress.oidc.client_id=
fortress.oidc.client_secret=
fortress.oidc.scope=openid profile email
fortress.oidc.redirect_uri={{URL_BASE_FORTRESS}}/oauth2

Donde:

  • fortress.oidc.active.- Activa el acceso mediante OpenID Connect (OAuth2) contra un proveedor de identidades externo, a los usuarios de la plataforma. (por defecto false)
  • fortress.oidc.auth_base.- Url base utilizada en las llamadas OpenID Connect OAuth2 (autorización, token, revocación, logout).
  • fortress.oidc.rest_base.- Url base utilizada en los servicios REST proporcionados por OpenID Connect OAuth2 (userInfo).
  • fortress.oidc.client_id.- identifica a la aplicación cliente que está realizado la petición contra OpenID Connect OAuth2.
  • fortress.oidc.client_secret.- Secreto proporcionado por proveedor de identidades conectado empleando OpenID Connect OAuth2 para validar a la aplicación.
  • fortress.oidc.scope.- Scope o ámbito a aplicar, valor por defecto para obtener la información del usuario es necesario indicar los scopes: openid profile
  • fortress.oidc.redirectUri.- URl de retorno, por defecto la respuesta debe redirigir a: /oauth2
Configuración de factores de autenticación

Viafirma Fortress permite habilitar distintos factores de autenticación que permitan verificar a un usuario en las aplicaciones que integren con Viafirma Fortress, a continuación se indican los distintos factores de autenticación disponibles, así como los parámetros que permiten habilitar los mismos.

Configuración factor de autenticación OTP

El token OTP únicamente emplea el siguiente parámetro de configuración fortress.idp.otp.active encargado de habilitar o deshabilitar el factor de autenticación

# IDP OTP
fortress.idp.otp.active=true
Configuración factor de autenticación SMS

Viafirma Fortress ha realizado varios conectores que permiten enviar códigos de verificación a los usuarios mediante envíos de SMS.

Actualmente se han implementado conectores con los siguientes proveedores:

  • SMS Publi
  • SMS Arena

A continuación indicaremos los distintos parámetros de configuración que debemos indicar para habilitar el factor de autenticación de SMS:

# IDP SMS
fortress.idp.sms.active=
fortress.idp.sms.provider=
fortress.idp.sms.allow_auto_enroll=

Donde:

  • fortress.idp.sms.active.- Indica si está o no habilitado el factor de autenticación para ser empleado en la verificación de los usuarios
  • fortress.idp.sms.provider.- Debemos indicar el proveedor a emplear, en este caso los valores son: SMSPubli o SMSArena .
  • fortress.idp.sms.allow_auto_enroll.- [true/false], por defecto es true, variable que indica si se permite en autoenroll de usuario en el factor de autenticación SMS, cuando se ha informado el teléfono en la solicitud de certificado.
Configuración proveedor SMSpubli

Para configurar este proveedor, deberemos indicar el apiKey proporcionada por SMSPubli al registrarnos en su plataforma. Dicha apiKey debemos almacenarla en la variable fortress.idp.sms.smspubli.apiKey.

fortress.idp.sms.smspubli.apiKey=
# Configuración proveedor SMS Arena

Para configurar este proveedor, deberemos indicar las siguientes variables

fortress.idp.sms.smsarena.url="https://api.smsarena.es/http/";
fortress.idp.sms.smsarena.authKey=

Donde:

  • fortress.idp.sms.smsarena.url.- URL al api proporcionado por el proveedor
  • fortress.idp.sms.smsarena.authKey.- código de autenticación en el proveedor
Configuración factor de autenticación Email

La configuración del factor de autenticación de Email, empleará la configuración del servidor de correo indicado en el Apartado 3.2.2.4, por lo que únicamente deberemos habilitarlo o deshabilitarlo mediante la variable fortress.idp.email.active.

# IDP EMAIL
fortress.idp.email.active=
Configuración del factor de autenticación PIN

Dicho Factor de autenticación como su propio nombre indica permite verificar a un usuario mediante un código PIN, gestionado por fortress.

La configuración del factor de autenticación de PIN, únicamente permite habilitarlo o deshabilitarlo mediante la variable fortress.idp.pinactive.

# IDP PIN
fortress.idp.pin.active=
Configuración del factor de autenticación LDAP

Factor de autenticación que permite autenticar a un usuario contra el LDAP configurado, para poder emplear este Factor de autenticación será necesario indicar las siguientes variables:

# IDP LDAP
fortress.idp.ldap.active=true

Donde:

  • fortress.idp.ldap.active.- Indica si está activo o no.
Configuración del factor de autenticación Password

Factor de autenticación que permite autenticar a un usuario empleando su password de Viafirma Fortress, para poder emplear este Factor de autenticación será necesario indicar las siguientes variables:

# IDP PASSWORD
fortress.idp.password.active=true

Donde:

  • fortress.idp.password.active.- Indica si está activo o no.
Configuración del factor de autenticación SAML

Factor de autenticación que permite autenticar a un usuario empleando el protocolo SAML contra un provedor de identidad externo a Viafirma Fortress, para poder emplear este Factor de autenticación será necesario indicar las siguientes variables:

# IDP SAML
fortress.idp.saml.active=true

Donde:

  • fortress.idp.saml.active.- Variable que permite activar o desactivar el empleo de SAML como factor de autenticación.
Configuración del factor de autenticación VALID

Factor de autenticación que permite autenticar a un usuario contra un provedor de identidad VALID, externo a Viafirma Fortress, para poder emplear este Factor de autenticación será necesario haber configurado previamente las configuración contra VALID a nivel de plataforma, tal y como se ha indicado previamente y agregar las siguiente variable:

# IDP SAML
fortress.idp.valid.active=true

Donde:

  • fortress.idp.valid.active.- Variable que permite activar o desactivar el empleo de VALID como factor de autenticación. Indica si se permite emplear VALID como Factor de autenticación (por defecto false), empleando la configuración definida a nivel de plataforma.
Configuración del factor de autenticación OpenID Connect (OAuth2)

Factor de autenticación que permite autenticar a un usuario contra un provedor de identidad externo a Viafirma Fortress empleando el protocolo OpenID Connect (OAuth2), para poder emplear este Factor de autenticación será necesario haber configurado previamente la configuración a nivel de plataforma contra un provedor de identidad empleando OpenID Connect (OAuth2), tal y como se ha indicado previamente y agregar las siguiente variable:

# IDP SAML
fortress.idp.oidc.active=true

Donde:

  • fortress.idp.oidc.active.- Indica si se permite emplear OpenID Connect OAuth2 como Factor de autenticación (por defecto false), empleando la configuración definida a nivel de plataforma.
Configuración para la importación de usuario mediante archivos CSV

A continuación se indican las variables, necesarias para habilitar la importación de usuarios empleando archivos CSV

#CSV Import
fortress.import.user.path.separator=;

Donde:

  • fortress.import.user.path.separator.- Caracter empleado como separador en el archivo.
Configuración integración RA HORUS

El uso de RA HORUS en la plataforma requerirá que se den de alta en el fichero de propiedades los siguientes campos:

# RA HORUS

fortress.ra.horus.active=
fortress.ra.horus.api.url=
fortress.ra.horus.api.debug=

Donde:

  • fortress.ra.horus.active.- Variable que indica si la RA de horus esta activa
  • fortress.ra.horus.api.url.- Url de la RA de HORUS
  • fortress.ra.horus.api.debug.- Variable que indica swi se activa o no el modo depuración
Configuración Activación Factor de autenticación PUSH

Para activar el factor de autenticación PUSH en la plataforma, requerirá que se den de alta en el fichero de propiedades los siguientes campos:

# IDP PUSH
fortress.idp.push.active=
fortress.idp.push.url=
fortress.idp.push.username=
fortress.idp.push.password=
fortress.idp.push.environment=

Donde:

  • fortress.idp.push.active.- Valor booleano, que permite establecer si se activa el fator de autenticación PUSH, por defecto se encuentra deshabilitada valor false
  • fortress.idp.push.url.- URL plataforma de envio de PUSHES
  • fortress.idp.push.username.- Código de usuario para autenticar en la plataforma de PUSHES
  • fortress.idp.push.password.- Password para autenticar en la plataforma de PUSHES
  • fortress.idp.push.environment.- Identiciador del entorno empleado para autenticar en la plataforma de PUSHES
Configuración integración Audit-Trail

Para activar Audit-Trail, requerirá que se den de alta en el fichero de propiedades los siguientes campos:

# AUDITTRAIL
fortress.auditTrailActive=
fortress.auditTrailUrl=
fortress.auditTrailUser=
fortress.auditTrailPass=

Donde:

  • fortress.auditTrailActive.- Indica si esta activa la cominicación con Audit-Trail
  • fortress.auditTrailUrl.- Url de auditTrail
  • fortress.auditTrailUser.- Usuario de auditTrail
  • fortress.auditTrailPass.- Password de auditTrail
Configuración de TSA

Para activar una TSA, requerirá que se den de alta en el fichero de propiedades los siguientes campos:

#TSA
fortress.tsa.primary.type=
fortress.tsa.primary.url=
fortress.tsa.primary.user=
fortress.tsa.primary.password=
fortress.tsa.primary.policyId=
fortress.tsa.primary.certificateCode=
fortress.tsa.primary.timestampAlgorithm=
fortress.tsa.primary.extensionOid=
fortress.tsa.primary.extensionValue=
# backup tsa TSA
fortress.tsa.secondary.type=
fortress.tsa.secondary.url=
fortress.tsa.secondary.user=
fortress.tsa.secondary.password=
fortress.tsa.secondary.policyId=
fortress.tsa.secondary.certificateCode=
fortress.tsa.secondary.timestampAlgorithm=
fortress.tsa.secondary.extensionOid=
fortress.tsa.secondary.extensionValue=

Donde:

  • fortress.tsa.primary.type.- Tipo de TSA: URL, USER, CERTIFICATE, CERTIFICATE_TLS
  • fortress.tsa.primary.url.- Url de conexión con la tsa
  • fortress.tsa.primary.user.- Usuario de conexión con la tsa
  • fortress.tsa.primary.password.- Password de conexión con la tsa
  • fortress.tsa.primary.policyId.- Identificador de la política
  • fortress.tsa.primary.certificateCode.- Código de certificado, se debe administrar desde la administración de fortress
  • fortress.tsa.primary.timestampAlgorithm.- Algortimo de sellado de tiempo
  • fortress.tsa.primary.extensionOid.- OID de la extensión
  • fortress.tsa.primary.extensionValue.-Valor de la extensión
  • fortress.tsa.secondary.type.- Tipo de TSA: URL, USER, CERTIFICA
  • fortress.tsa.secondary.url.- Url de conexión con la tsa
  • fortress.tsa.secondary.user.- Usuario de conexión con la tsa
  • fortress.tsa.secondary.password.- Password de conexión con la tsa
  • fortress.tsa.secondary.policyId.- Identificador de la política
  • fortress.tsa.secondary.certificateCode.- Código de certificado, se debe administrar desde la administración de fortress
  • fortress.tsa.secondary.timestampAlgorithm.- Algortimo de sellado de tiempo
  • fortress.tsa.secondary.extensionValue.- OID de la extensión
  • fortress.auditTrailPass.- Password de auditTrail

    Configuración integración REDIS

    A continuación se indican las variables necesarias para habilitar el empleo de REDIS

#REDIS
fortress.redis.active=  
spring.redis.host=
spring.redis.port=
spring.redis.password=
spring.redis.timeout=

Donde:

  • fortress.redis.active.- Variable empleada para activar/desactivar el empleo de REDIS, por defecto está deshabilitada.
  • spring.redis.host.- Host donde se encuentra el servidor REDIS
  • spring.redis.port.- Puerto
  • spring.redis.password.- Password para establecer la conexión
  • spring.redis.timeout.- Tiempo que permanecerán los elementos en memoria

    Configuración integración S3

    A continuación se indican las variables necesarias para habilitar el empleo de S3

# S3 
fortress.s3.active=
fortress.s3.bucket_name=
fortress.s3.bucket_region=
fortress.s3.end_point= 
fortress.s3.api_key=
fortress.s3.secret_key=

Donde:

  • fortress.s3.active.- Variable empleada para activar/desactivar el empleo de S3, por defecto está deshabilitada.
  • fortress.s3.bucket_name.- Nombre del bucket
  • fortress.s3.bucket_region.- Region del bucket
  • fortress.s3.end_point.- Endpoint de S3
  • fortress.s3.api_key.- Api key
  • fortress.s3.secret_key.- Secret key

Entre las versiones 6.1.0 y 6.8.0 del producto, se permitia almacenar únicamente la custodía y la auditoria asociada en S3, a partir de la versión 6.8.0 si se configura S3 a nivel de plataforma, se almacenarán todos los archivos empleados por la plataforma, tanto de configuración como de custodia en S3.

Las variables indicadas para almacenar únicamente la custodia, dejarán de ser válidas a partir de la versión 6.8.0, es decir:

fortress.signature.s3.active= fortress.signature.s3.bucket_name= fortress.signature.s3.bucket_region= fortress.signature.s3.end_point= fortress.signature.s3.api_key= fortress.signature.s3.secret_key=

results matching ""

    No results matching ""