Introduction

Welcome to autofirma-nix! This project provides a suite of tools to interact with Spain’s public administration, seamlessly integrating into your NixOS and Home Manager setup. It includes:

  • AutoFirma for digitally signing documents and authenticating on various Spanish administration websites—because ink and paper are so last century.
  • DNIeRemote for using an NFC-based national ID via an Android device—no more digging through drawers for that card reader you haven’t seen since 2010.
  • Configurador FNMT-RCM for securely requesting personal certificates from the Spanish Royal Mint—yes, the mint that makes actual coins.
  • Integration with Mozilla Firefox (provided on both the NixOS and the Home Manager modules) that allows Firefox to communicate with AutoFirma, as required by some sites—now with automatic setup!

Installation

This project is distributed as a Nix flake that supports three integration paths:

  1. NixOS module - For system-wide installation
  2. Home Manager module with NixOS - For per-user installation when Home Manager is used as a NixOS module
  3. Home Manager standalone - For per-user installation with standalone Home Manager

Flake Input Setup

For all installation methods, you'll need to add autofirma-nix to your flake inputs:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    
    # Only needed for Home Manager options
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    autofirma-nix = {
      url = "github:nix-community/autofirma-nix";  # For nixpkgs-unstable
      # url = "github:nix-community/autofirma-nix/release-24.11";  # For NixOS 24.11
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  nixConfig = {
    extra-substituters = [
      "https://nix-community.cachix.org"
    ];
    extra-trusted-public-keys = [
      "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
    ];
  };
}

The binary cache configuration is strongly recommended to avoid unnecessary local compilation.

NixOS Module Installation

For system-wide installation where all users can access AutoFirma, DNIeRemote, and Configurador FNMT, the NixOS module is the most straightforward approach.

Quick Start with Template

You can quickly get started with a fully configured template:

$ nix flake new --template github:nix-community/autofirma-nix#nixos-module ./my-autofirma-system

This creates a new directory with a complete flake configuration for NixOS with all available options.

Minimal Configuration

For your NixOS flake configuration:

{
  nixosConfigurations.mysystem = nixpkgs.lib.nixosSystem {
    system = "x86_64-linux";
    
    modules = [
      autofirma-nix.nixosModules.default
      
      ({ config, pkgs, ... }: {
        # The autofirma command becomes available system-wide
        programs.autofirma = {
          enable = true;
          firefoxIntegration.enable = true;
        };

        # DNIeRemote integration for using phone as NFC reader
        programs.dnieremote = {
          enable = true;
        };

        # The FNMT certificate configurator
        programs.configuradorfnmt = {
          enable = true;
          firefoxIntegration.enable = true;
        };

        # Firefox configured to work with AutoFirma
        programs.firefox = {
          enable = true;
          policies.SecurityDevices = {
            "OpenSC PKCS#11" = "${pkgs.opensc}/lib/opensc-pkcs11.so";
            "DNIeRemote" = "${config.programs.dnieremote.finalPackage}/lib/libdnieremotepkcs11.so";
          };
        };

        # Enable PC/SC smart card service
        services.pcscd.enable = true;
      })
    ];
  };
}

What This Does

When you enable the NixOS module:

  1. The autofirma command becomes available system-wide for signing documents
  2. Firefox (if enabled through programs.firefox.enable) is configured to work with AutoFirma
  3. DNIeRemote integration allows using your phone as an NFC card reader for your DNIe
  4. The FNMT certificate configurator helps with requesting and managing digital certificates

Rebuild and Apply

After adding these changes, rebuild your NixOS configuration:

sudo nixos-rebuild switch --flake .#yourHostname

Home Manager with NixOS

If you're using Home Manager as a NixOS module and want a per-user AutoFirma setup, this approach provides fine-grained configuration for each user.

Quick Start with Template

You can quickly get started with a fully configured template:

$ nix flake new --template github:nix-community/autofirma-nix#home-manager-nixos ./my-autofirma-system-with-hm

This creates a new directory with a complete flake configuration for Home Manager as a NixOS module with all available options.

Minimal Configuration

First, make sure Home Manager is imported in your NixOS configuration:

{
  imports = [
    # Your other imports
    home-manager.nixosModules.home-manager
  ];
}

Then, configure AutoFirma for a specific user:

{
  home-manager.users.yourUsername = { config, pkgs, ... }: {
    imports = [
      autofirma-nix.homeManagerModules.default
    ];
    
    # Enable AutoFirma with Firefox integration
    programs.autofirma = {
      enable = true;
      firefoxIntegration.profiles = {
        default = {
          enable = true;
        };
      };
    };
    
    # DNIeRemote for using smartphone as DNIe reader
    programs.dnieremote = {
      enable = true;
    };

    # FNMT certificate configurator
    programs.configuradorfnmt = {
      enable = true;
      firefoxIntegration.profiles = {
        default = {
          enable = true;
        };
      };
    };
    
    # Configure Firefox
    programs.firefox = {
      enable = true;
      policies = {
        SecurityDevices = {
          "OpenSC PKCS11" = "${pkgs.opensc}/lib/opensc-pkcs11.so";
          "DNIeRemote" = "${config.programs.dnieremote.finalPackage}/lib/libdnieremotepkcs11.so";
        };
      };
      profiles.default = {
        id = 0;
      };
    };
  };
}

What This Does

With this configuration:

  1. AutoFirma is only available to the specified user(s)
  2. Firefox integration is limited to specific Firefox profiles
  3. DNIeRemote integration allows using your phone as an NFC card reader for your DNIe
  4. The FNMT certificate configurator helps with requesting and managing digital certificates
  5. Each user can have their own customized setup
  6. Only users who need these tools will have them installed

Rebuild and Apply

After adding these changes, rebuild your NixOS configuration:

sudo nixos-rebuild switch --flake .#yourHostname

Home Manager Standalone

If you're using Home Manager in standalone mode (not integrated with NixOS configuration), this approach lets you manage AutoFirma through your personal configuration.

Quick Start with Template

You can quickly get started with a fully configured template:

$ nix flake new --template github:nix-community/autofirma-nix#home-manager-standalone ./my-autofirma-home

This creates a new directory with a complete flake configuration for standalone Home Manager with all available options.

Minimal Configuration

In your flake.nix for Home Manager:

{
  outputs = { self, nixpkgs, home-manager, autofirma-nix, ... }: {
    homeConfigurations."yourUsername" = home-manager.lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      
      modules = [
        autofirma-nix.homeManagerModules.default
        
        {
          # Adds AutoFirma to your personal Home Manager setup
          programs.autofirma = {
            enable = true;
            
            # Configures Firefox integration for your specific profile(s)
            firefoxIntegration.profiles = {
              default = {
                enable = true;
              };
            };
          };
          
          # DNIeRemote for using smartphone as DNIe reader
          programs.dnieremote = {
            enable = true;
          };

          # FNMT certificate configurator
          programs.configuradorfnmt = {
            enable = true;
            firefoxIntegration.profiles = {
              default = {
                enable = true;
              };
            };
          };
          
          # Configure Firefox
          programs.firefox = {
            enable = true;
            policies = {
              SecurityDevices = {
                "OpenSC PKCS11" = "${pkgs.opensc}/lib/opensc-pkcs11.so";
                "DNIeRemote" = "${config.programs.dnieremote.finalPackage}/lib/libdnieremotepkcs11.so";
              };
            };
            profiles.default = {
              id = 0;
            };
          };
        }
      ];
    };
  };
}

What This Does

This configuration:

  1. Adds AutoFirma to your personal Home Manager setup
  2. Configures Firefox integration for your specific profile(s)
  3. DNIeRemote integration allows using your phone as an NFC card reader for your DNIe
  4. The FNMT certificate configurator helps with requesting and managing digital certificates
  5. Provides a complete environment for working with Spanish digital signatures
  6. Preserves the flexibility of Home Manager's standalone mode

Apply the Configuration

After adding these changes, apply your Home Manager configuration:

home-manager switch --flake .#yourUsername

Security

AutoFirma chats with remote servers in a couple of different ways to handle document signing and authentication. Here’s the lowdown on these scenarios and how certificates fit into the bigger picture.

Browser-based scenario

In most cases, your friendly web browser takes care of the heavy lifting for server authentication: it connects to the remote server and confirms the server’s identity with its own certificate store. After that, the browser opens a WebSocket to AutoFirma, relaying commands back and forth. For this communication to work, a SSL certificate is created and added to Firefox; depending on the installation method you chose is located either in /etc/AutoFirma or in $HOME/.afirma/AutoFirma.

Direct connection scenario

Sometimes, the browser tells AutoFirma to talk directly to the remote server. In that case, AutoFirma itself must determine which Certificate Authorities (CAs) are valid. This is where certificate management in AutoFirma becomes important.

Managing certificates in autofirma-nix

AutoFirma trusts a certificate only if it meets two conditions:

  1. Official Provider
    It must come from one of the providers published in the Spanish Government’s authorized list.

  2. System CA Store
    It must also appear in your system’s ca-bundle (or cacerts) on NixOS. If your NixOS configuration blocks or adds a certificate, AutoFirma respects that setting.

If a certificate is missing from the system CA store or explicitly blocked, AutoFirma will ignore it—even if it shows up on the official list.

Relevant NixOS options

  • security.pki.certificateFiles
    Adds extra certificates to the global truststore. If a certificate is on the official list, and you include it here, AutoFirma will trust it.

  • security.pki.caCertificateBlacklist
    Blocks specific certificates. Even if one is on the official list, AutoFirma ignores it if it appears here.

Minimal example

{
  security.pki = {
    certificateFiles = [
      ./my-certificate.crt
    ];
    caCertificateBlacklist = [
      "Izenpe.com"
    ];
  };
  programs.autofirma.enable = true;
}

In this snippet, if ./my-certificate.crt is on the official list, AutoFirma will trust it, while any certificate from Izenpe.com is blacklisted, no matter what.

Troubleshooting

Encountering issues? Here are some tips to get you back on track:

Security devices do not seem to update or do not appear

If you have installed AutoFirma and enabled Firefox integration, but Firefox does not detect the security devices, you may need to remove the pkcs11.txt file from the Firefox profile folder. For instance, if you enabled the Home Manager module and the profile is named myprofile, the file is located in ~/.mozilla/firefox/myprofile/pkcs11.txt.

Removing it and restarting Firefox should solve the issue:

$ rm ~/.mozilla/firefox/myprofile/pkcs11.txt
$ firefox

Missing certificates even though the DNIe PIN was requested

If OpenSC PKCS#11 prompts you for a password but no certificates are available for signing, you might see something like the following in the Autofirma logs (when running it from a terminal):

$ autofirma
...
INFO: El almacen externo 'OpenSC PKCS#11' ha podido inicializarse, se anadiran sus entradas y se detiene la carga del resto de almacenes
...
INFO: Se ocultara el certificado por no estar vigente: java.security.cert.CertificateExpiredException: NotAfter: Sat Oct 26 15:03:27 GMT 2024
...
INFO: Se ocultara el certificado por no estar vigente: java.security.cert.CertificateExpiredException: NotAfter: Sat Oct 26 15:03:27 GMT 2024
...
SEVERE: Se genero un error en el dialogo de seleccion de certificados: java.lang.reflect.InvocationTargetException
....
SEVERE: El almacen no contiene ningun certificado que se pueda usar para firmar: es.gob.afirma.keystores.AOCertificatesNotFoundException: No se han encontrado certificados validos en el almacen

This occurs because your certificates have expired, as indicated by the “NotAfter:” date.

If the certificates are not expired because you recently renewed them, but you used AutoFirma before this renewal, it is possible that OpenSC has cached your old certificates. To fix this, you need to delete the OpenSC cache. By default, it is located at $HOME/.cache/opensc.

$ rm -rf $HOME/.cache/opensc

NixOS options

The following options can only be set in a NixOS configuration.

programs.autofirma.enable

Whether to enable AutoFirma.

Type: boolean

Default: false

Example: true

programs.autofirma.package

The autofirma package to use.

Type: package

Default: pkgs.autofirma

programs.autofirma.finalPackage

The AutoFirma package after applying configuration.

Type: package (read only)

Default: `programs.autofirma.package` with applied configuration

programs.autofirma.firefoxIntegration.enable

Whether to enable Firefox integration.

Type: boolean

Default: false

Example: true

programs.autofirma.fixJavaCerts

Whether to enable Fix Java certificates.

Type: boolean

Default: false

Example: true

programs.autofirma.truststore.package

The autofirma-truststore package to use.

Type: package

Default: pkgs.autofirma-truststore

programs.autofirma.truststore.finalPackage

The AutoFirma truststore package after applying configuration.

Type: package (read only)

Default: `programs.autofirma.truststore.package` with applied configuration

programs.configuradorfnmt.enable

Whether to enable configuradorfnmt.

Type: boolean

Default: false

Example: true

programs.configuradorfnmt.package

The configuradorfnmt package to use.

Type: package

Default: pkgs.configuradorfnmt

programs.configuradorfnmt.finalPackage

The configuradorfnmt package after applying configuration.

Type: package (read only)

Default: `programs.configuradorfnmt.package` with applied configuration

programs.configuradorfnmt.firefoxIntegration.enable

Whether to enable Firefox integration.

Type: boolean

Default: false

Example: true

programs.dnieremote.enable

Whether to enable DNIeRemote.

Type: boolean

Default: false

Example: true

programs.dnieremote.package

The dnieremote package to use.

Type: package

Default: pkgs.dnieremote

programs.dnieremote.finalPackage

The DNIeRemote package after applying configuration.

Type: package (read only)

Default: `programs.dnieremote.package` with applied configuration

programs.dnieremote.jumpIntro

Skip the intro and jump to a specific screen.

Type: one of “usb”, “wifi”, “no”

Default: "no"

programs.dnieremote.openFirewall

Open the firewall for the selected port.

Type: boolean

Default: false

programs.dnieremote.usbPort

The port to use for the USB connection.

Type: signed integer

Default: 9501

programs.dnieremote.wifiPort

The port to use for the Wi-Fi connection.

Type: signed integer

Default: 9501

Home Manager options

The following options can only be set in a Home Manager configuration.

programs.autofirma.enable

Whether to enable AutoFirma.

Type: boolean

Default: false

Example: true

programs.autofirma.package

The autofirma package to use.

Type: package

Default: pkgs.autofirma

programs.autofirma.config

Settings to apply to the AutoFirma package.

Type: submodule

Default: { }

programs.autofirma.config.enabledJmulticard

Mantiene habilitado el funcionamiento de JMultiCard. Un valor de true en esta preferencia hace que la aplicacion deje el comportamiento por defecto de JMulticard, que usaria las tarjetas DNIe y CERES. Un valor de false hará que no se desactive el uso de JMulticard para estas tarjetas.

Type: boolean

Default: true

programs.autofirma.config.allowInvalidSignatures

Permitir la multifirma de firmas inválidas. Un valor de true en esta preferencia hace que se puedan multifirmar firmas a pesar de haberse detectado que no son válidas.

Type: boolean

Default: false

programs.autofirma.config.cadesImplicitMode

Si está establecido a true la firma CAdES se realizará en modo implícito (attached), si está establecido a false se realizará en modo (detached).

Type: boolean

Default: true

programs.autofirma.config.cadesMultisignCosign

Realizar cofirma en multifirmas CAdES.

Type: boolean

Default: true

programs.autofirma.config.cadesMultisignCountersignLeafs

Realizar contrafirma en hojas en multifirmas CAdES.

Type: boolean

Default: false

programs.autofirma.config.cadesMultisignCountersignTree

Realizar contrafirma en arbol en multifirmas CAdES.

Type: boolean

Default: false

programs.autofirma.config.cadesPolicyIdentifier

Identificador de la política de firma para CAdES. Debe ser un OID.

Type: string

Default: ""

programs.autofirma.config.cadesPolicyIdentifierHash

Huella digital del identificador de la política de firma para CAdES.

Type: string

Default: ""

programs.autofirma.config.cadesPolicyIdentifierHashAlgorithm

Algoritmo de la huella digital del identificador de la política de firma para CAdES. Esta preferencia debe tener uno de estos valores:

  • SHA1
  • SHA-512
  • SHA-384
  • SHA-256

Type: string

Default: ""

programs.autofirma.config.cadesPolicyQualifier

Calificador de la política de firma para CAdES. Debe ser una URL.

Type: string

Default: ""

programs.autofirma.config.checkForUpdates

Buscar actualizaciones al arrancar. Un valor de true en esta preferencia hace que, al arrancar, la aplicación compruebe automáticamente si hay publicadas versiones más actuales del aplicativo. Un valor de false hará que no se haga esta comprobación.

Type: boolean

Default: true

programs.autofirma.config.checkJavaVersion

Comprobar que la versión actual de Java está soportada. Un valor de true en esta preferencia hace que, al arrancar, la aplicación compruebe automáticamente si la versión de Java con la que se ejecuta la aplicación está entre las versiones soportadas. Un valor de false hará que no se haga esta comprobación.

Type: boolean

Default: true

programs.autofirma.config.confirmToSign

Solicitar confirmación antes de firmar. Un valor de true en esta preferencia hace que se muestre un diálogo de confirmación con las implicaciones de firma al iniciar una firma desde la interfaz de escritorio.

Type: boolean

Default: true

programs.autofirma.config.createHashAlgorithm

Type: string

Default: "SHA-256"

programs.autofirma.config.createHashAsBase64

Type: boolean

Default: true

programs.autofirma.config.createHashCopyToClipBoard

Type: boolean

Default: true

programs.autofirma.config.createHashDirectoryAlgorithm

Type: string

Default: "SHA-256"

programs.autofirma.config.createHashFormat

Type: string

Default: "Hexadecimal en ASCII (Base16)"

programs.autofirma.config."default.locale"

Idioma por defecto.

Type: string

Default: "en_US"

programs.autofirma.config.defaultSignatureFormatBin

Formato de firma por defecto para ficheros binarios que no se adecúen a ninguna otra categoría. Esta preferencia debe tener uno de estos valores:

  • CAdES
  • XAdES

Type: string

Default: "CAdES"

programs.autofirma.config.defaultSignatureFormatFacturae

Formato de firma por defecto para Facturas Electrónicas. Esta preferencia debe tener uno de estos valores:

  • FacturaE
  • CAdES
  • XAdES

Type: string

Default: "FacturaE"

programs.autofirma.config.defaultSignatureFormatOdf

Formato de firma por defecto para documentos ODF de LibreOffice / OpenOffice. Esta preferencia debe tener uno de estos valores:

  • ODF (Open Document Format)
  • CAdES
  • XAdES

Type: string

Default: "CAdES"

programs.autofirma.config.defaultSignatureFormatOoxml

Formato de firma por defecto para documentos OOXML de Microsoft Office. Esta preferencia debe tener uno de estos valores:

  • OOXML (Office Open XML)
  • CAdES
  • XAdES

Type: string

Default: "CAdES"

programs.autofirma.config.defaultSignatureFormatPdf

Formato de firma por defecto para documentos PDF. Esta preferencia debe tener uno de estos valores:

  • PAdes
  • CAdes
  • XAdes

Type: string

Default: "PAdES"

programs.autofirma.config.defaultSignatureFormatXml

Formato de firma por defecto para documentos XML. Esta preferencia debe tener uno de estos valores:

  • CAdES
  • XAdES

Type: string

Default: "XAdES"

programs.autofirma.config.facturaEPolicy

Nombre de la política de FacturaE. Esta preferencia debe tener uno de estos valores:

  • Política de Factura Electrónica 3.0
  • Política de Factura Electrónica 3.1

Type: string

Default: ""

programs.autofirma.config.facturaeSignerRole

Papel del firmante de las facturas. Esta preferencia debe tener uno de estos valores:

  • Emisor
  • Receptor
  • Tercero

Type: string

Default: "Emisor"

programs.autofirma.config.hideDnieStartScreen

No mostrar la pantalla inicial de uso de DNIe. Un valor de true en esta preferencia hace que nunca se muestre la pantalla inicial que sugiere al usuario el uso directo del DNIe como almacén de claves. Un valor de false hará que se muestre esta pantalla al inicio siempre que se detecte un lector de tarjetas en el sistema.

Type: boolean

Default: false

programs.autofirma.config.jmulticardCachePassword

Type: boolean

Default: false

programs.autofirma.config.lastCheckDate

Clave para el guardado y recuperacación de la fecha de la última comprobación de versión.

Type: string

Default: ""

programs.autofirma.config.massiveOverride

Indica si en los procesos de firma masiva se deben sobreescribir o no los ficheros que se encuentren en el directorio de salida.

Type: boolean

Default: false

programs.autofirma.config.omitAskOnClose

Evitar la confirmación al cerrar la aplicación o no. Un valor de true en esta preferencia permitirá cerrar la aplicación sin ningún diálogo de advertencia. Un valor de false hará que se muestre un diálogo para que el usuario confirme que realmente desea cerrar la aplicación.

Type: boolean

Default: false

programs.autofirma.config.padesBasicFormat

Formato de firma PAdES (PAdES Básico o PAdES-BES). Esta preferencia debe tener uno de estos valores:

  • PAdES-BES
  • PAdES Básico

Type: string

Default: "ETSI.CAdES.detached"

programs.autofirma.config.padesObfuscateCertInfo

Si está establecido a true se ofuscan los identificadores de usuario del CN y DN del certificado antes de mostrarlos en la firma visible del PDF.

Type: boolean

Default: true

programs.autofirma.config.padesPolicyIdentifier

Identificador de la política de firma para PAdES. Debe ser un OID.

Type: string

Default: ""

programs.autofirma.config.padesPolicyIdentifierHash

Huella digital del identificador de la política de firma para PAdES. Debe estar en base64.

Type: string

Default: ""

programs.autofirma.config.padesPolicyIdentifierHashAlgorithm

Algoritmo de la huella digital del identificador de la política de firma para PAdES. Esta preferencia debe tener uno de estos valores:

  • SHA1
  • SHA-512
  • SHA-384
  • SHA-256

Type: string

Default: ""

programs.autofirma.config.padesPolicyQualifier

Calificador de la política de firma para PAdES. Debe ser una URL.

Type: string

Default: ""

programs.autofirma.config.padesSignProductionCity

Ciudad de firma para firmas PAdES.

Type: string

Default: ""

programs.autofirma.config.padesSignReason

Motivo de la firma en firmas PAdES.

Type: string

Default: ""

programs.autofirma.config.padesSignerContact

Contacto del firmante en firmas PAdES.

Type: string

Default: ""

programs.autofirma.config.padesVisibleSignature

Si está establecido a true se pide al usuario que determine mediante diálogos gráficos los parámetros de una firma visible PDF y se inserta como tal en el documento.

Type: boolean

Default: false

programs.autofirma.config.padesVisibleStamp

Si está establecido a true se pide al usuario que determine mediante diálogos gráficos los parámetros de una marca visible en PDF y se inserta como tal en el documento.

Type: boolean

Default: false

programs.autofirma.config.pdfLayer2FontColor

Color de la fuente utilizada en el texto de la firma visible en pdf.

Type: string

Default: "black"

programs.autofirma.config.pdfLayer2FontFamily

Fuente utilizada en el texto de la firma visible en pdf.

Type: string

Default: "0"

programs.autofirma.config.pdfLayer2FontSize

Tamaño de la fuente utilizada en el texto de la firma visible en pdf.

Type: string

Default: "12"

programs.autofirma.config.pdfLayer2FontStyle

Estilo de la fuente utilizada en el texto de la firma visible en pdf.

Type: string

Default: "0"

programs.autofirma.config.pdfLayer2Text

Texto contenido en la firma visible en pdf.

Type: string

Default: "Firmado por $$SUBJECTCN$$ el d\\u00EDa $$SIGNDATE=dd/MM/yyyy$$ con un certificado emitido por $$ISSUERCN$$"

programs.autofirma.config.pdfSignatureImage

Imagen de fondo de la firma visible en pdf.

Type: string

Default: ""

programs.autofirma.config.pdfSignatureRotation

Indica el ángulo que se debe rotar la firma.

Type: string

Default: "0"

programs.autofirma.config.preferencesBlocked

Proteger cambios en preferencias. Un valor de true en esta preferencia indica que deben limitarse las opciones de configuración mediante interfaz gráfico, apareciendo de forma deshabilitada (solo para consulta). Un valor de false habilitará que cualquier opción de configuración pueda ser alterada por parte del usuario mediante el interfaz gráfico.

Type: boolean

Default: false

programs.autofirma.config.proxyHost

Host del servidor proxy configurado.

Type: string

Default: ""

programs.autofirma.config.proxyPort

Puerto del servidor proxy configurado.

Type: string

Default: ""

programs.autofirma.config.proxySelected

Configuración de proxy seleccionada. Un valor de true en esta preferencia indica que debe usarse el proxy configurado, y un valor de false que no usará proxy en las conexiones de red.

Type: boolean

Default: false

programs.autofirma.config.proxyType

Tipo de configuración de proxy.

Type: string

Default: "NONE"

programs.autofirma.config.secureConnections

Indica si debe validarse el certificado SSL en las conexiones de red.

Type: boolean

Default: true

programs.autofirma.config.showExpiredCerts

Mostrar certificados caducados. Un valor de true en esta preferencia hace que el diálogo de selección de certificados muestre los certificados caducados.

Type: boolean

Default: false

programs.autofirma.config.signatureHashAlgorithm

Algoritmo de huella para firma. Esta preferencia debe tener uno de estos valores:

  • SHA1
  • SHA256
  • SHA384
  • SHA512

Type: string

Default: "SHA256"

programs.autofirma.config.useOnlyAliasCertificates

En firma, restringir que únicamente se puedan usar certificados de seudónimo cuando estos estén disponibles. Un valor de true en esta preferencia permitirá usar solo certificados de seudónimo cuando estos estén disponibles.

Type: boolean

Default: false

programs.autofirma.config.useOnlySignatureCertificates

En firma, restringir que únicamente se puedan usar certificados de firma. Un valor de true en esta preferencia permitirá usar solo certificados específicos para firma en las firmas electrónicas.

Type: boolean

Default: false

programs.autofirma.config.vdiOptimization

Configura una propiedad que indica a la biblioteca WebSocket para la comunicación con el navegador que aplique un pequeño retardo en las comunicaciones para así evitar que se bloquee el canal. Esto relantizará las comunicaciones, lo cual es muy evidente conforme se trabaje con ficheros más grandes. Sólo se recomienda el su uso de esta propiedad cuando se use el cliente sobre VDI para evitar un mal mayor.

Type: boolean

Default: false

programs.autofirma.config.xadesMultisignCosign

Realizar cofirma en multifirmas XAdES.

Type: boolean

Default: true

programs.autofirma.config.xadesMultisignCountersignLeafs

Realizar contrafirma en hojas en multifirmas XAdES.

Type: boolean

Default: false

programs.autofirma.config.xadesMultisignCountersignTree

Realizar contrafirma en arbol en multifirmas XAdES.

Type: boolean

Default: false

programs.autofirma.config.xadesPolicyIdentifier

Identificador de la política de firma para XAdES. Debe ser un OID.

Type: string

Default: ""

programs.autofirma.config.xadesPolicyIdentifierHash

Huella digital del identificador de la política de firma para XAdES. Debe estar en base64.

Type: string

Default: ""

programs.autofirma.config.xadesPolicyIdentifierHashAlgorithm

Algoritmo de la huella digital del identificador de la política de firma para XAdES. Esta preferencia debe tener uno de estos valores:

  • SHA1
  • SHA-512
  • SHA-384
  • SHA-256

Type: string

Default: ""

programs.autofirma.config.xadesPolicyQualifier

Calificador de la política de firma para XAdES. Debe ser una URL.

Type: string

Default: ""

programs.autofirma.config.xadesSignFormat

Formato de las firmas XAdES. Esta preferencia debe tener uno de estos valores:

  • XAdES Detached
  • XAdES Enveloping
  • XAdES Enveloped

Type: string

Default: "XAdES Detached"

programs.autofirma.config.xadesSignatureProductionCity

Ciudad de firma para firmas XAdES.

Type: string

Default: ""

programs.autofirma.config.xadesSignatureProductionCountry

País de firma para firmas XAdES.

Type: string

Default: ""

programs.autofirma.config.xadesSignatureProductionPostalCode

Código de firma para firmas XAdES.

Type: string

Default: ""

programs.autofirma.config.xadesSignatureProductionProvince

Provincia de firma para firmas XAdES.

Type: string

Default: ""

programs.autofirma.config.xadesSignerClaimedRole

Cargo supuesto para el firmante en firmas XAdES.

Type: string

Default: ""

programs.autofirma.finalPackage

The AutoFirma package after applying configuration.

Type: package (read only)

Default: `programs.autofirma.package` with applied configuration

programs.autofirma.firefoxIntegration.profiles

Firefox profiles to integrate AutoFirma with.

Type: attribute set of (submodule)

programs.autofirma.firefoxIntegration.profiles.<name>.enable

Whether to enable Enable AutoFirma in this firefox profile…

Type: boolean

Default: false

Example: true

programs.autofirma.firefoxIntegration.profiles.<name>.name

Profile name.

Type: string

Default: "‹name›"

programs.autofirma.truststore.package

The autofirma-truststore package to use.

Type: package

Default: pkgs.autofirma-truststore

programs.autofirma.truststore.finalPackage

The AutoFirma truststore package after applying configuration.

Type: package (read only)

Default: `programs.autofirma.truststore.package` with applied configuration

programs.configuradorfnmt.enable

Whether to enable configuradorfnmt.

Type: boolean

Default: false

Example: true

programs.configuradorfnmt.package

The configuradorfnmt package to use.

Type: package

Default: pkgs.configuradorfnmt

programs.configuradorfnmt.finalPackage

The configuradorfnmt package after applying configuration.

Type: package (read only)

Default: `programs.configuradorfnmt.package` with applied configuration

programs.configuradorfnmt.firefoxIntegration.profiles

Firefox profiles to integrate configuradorfnmt with.

Type: attribute set of (submodule)

programs.configuradorfnmt.firefoxIntegration.profiles.<name>.enable

Whether to enable Enable configuradorfnmt in this firefox profile…

Type: boolean

Default: false

Example: true

programs.configuradorfnmt.firefoxIntegration.profiles.<name>.name

Profile name.

Type: string

Default: "‹name›"

programs.dnieremote.enable

Whether to enable DNIeRemote.

Type: boolean

Default: false

Example: true

programs.dnieremote.package

The dnieremote package to use.

Type: package

Default: pkgs.dnieremote

programs.dnieremote.finalPackage

The DNIeRemote package after applying configuration.

Type: package (read only)

Default: `programs.dnieremote.package` with applied configuration

programs.dnieremote.jumpIntro

Skip the intro and jump to a specific screen.

Type: one of “usb”, “wifi”, “no”

Default: "no"

programs.dnieremote.usbPort

The port to use for the USB connection.

Type: signed integer

Default: 9501

programs.dnieremote.wifiPort

The port to use for the Wi-Fi connection.

Type: signed integer

Default: 9501