Pular para o conteúdo principal
Version: 4.33

Como assinar documentos com o agente desassistido usando o AutoFirma

Resumo

Este guia explica como assinar documentos usando o agente desassistido e o AutoFirma. Ele é útil para administradores e desenvolvedores que desejam melhorar as operações de assinatura.

Contexto

A assinatura desassistida ou em massa refere-se a operações de assinatura automatizadas realizadas sem interação do usuário. Nesse modo, os documentos são assinados por serviços que acessam as chaves de assinatura necessárias de forma segura e automática. Essa abordagem é usada para assinar documentos PDF, arquivos XML (como notas fiscais eletrônicas) ou outros arquivos binários quando é necessário aplicar assinaturas em um servidor.

A assinatura desassistida requer a instalação do agente Linux do Redtrust.

nota

Redtrust é compatível apenas com o AutoFirma 1.8.4 ou superior.

Antes de começar

Antes de continuar com este guia, você deve ter:

info

Ao instalar o AutoFirma, você precisará instalar Java e libnss3-tools usando estes comandos:

apt-cache search java | more
sudo apt install openjdk-11-jre
sudo apt install libnss3-tools

Observe que o comando sudo apt –fix-broken install documentado no link do AutoFirma pode não funcionar.

Passos

  1. Acesse sua máquina Linux onde o agente desassistido está instalado.

  2. Verifique se o agente está em execução.

    systemctl status KeyfactorService.service
  3. Configure o agente com as credenciais do usuário de serviço que assinará os documentos.

    keyfactor-setup hostname=IP_O_HOSTNAME clientid=CLIENT_ID username=NOME_DO_USUARIO password=SENHA loglevel=NIVEL_DE_LOG

    Por exemplo, o comando para um usuário cris@local.users em agent01.example.com é:

    keyfactor-setup hostname=agent01.example.com clientid=T4N3r2WBbvKfyYe8/z+SVW5N= username=cris@local.users password=ChangeMe123 loglevel=LOW
    nota

    loglevel representa a quantidade de detalhes que será incluída nos logs. Valores válidos: NONE, LOW, HIGH.

  4. Assine os documentos com o seguinte comando. Este comando chama o AutoFirma e indica que ele deve usar o módulo PKCS#11 do Redtrust como repositório de certificados.

    autofirma sign -store pkcs11://usr/lib/libkeyfactorpkcs11.so -i NOME_DO_ARQUIVO_ORIGINAL_COM_EXTENSÃO -o NOME_DO_ARQUIVO_ASSINADO -filter subject.contains:USER_DNI
    tip

    Se você não souber o DNI associado ao certificado, execute o comando a seguir para ver o subject do certificado e adicione qualquer parte dele que seja única para aquele certificado.

    pkcs11-tool --module /usr/lib/libkeyfactorpkcs11.so --list-objects --type cert

    Como alternativa, use a interface gráfica para selecionar o certificado necessário.

    autofirma sign -store pkcs11://usr/lib/libkeyfactorpkcs11.so -i NOME_DO_ARQUIVO_ORIGINAL_COM_EXTENSÃO -o NOME_DO_ARQUIVO_ASSINADO -certgui