Skip to content

Permitir Configuração de Formatação do XML no Método generateQR para Preservar Assinatura Digital #4

@paulocesargarcia

Description

@paulocesargarcia

Descrição do Problema:

Ao utilizar o método generateQR do módulo facturacionelectronicapy-qrgen, observei que o XML assinado é reformatado, o que inclui a adição de quebras de linha, indentação e alteração do atributo standalone no cabeçalho. Essas mudanças de formatação resultam na invalidação da assinatura digital do documento XML.

Solução Implementada:

Para resolver o problema, modifiquei a criação do xml2js.Builder no código do módulo para incluir as seguintes opções:

var builder = new xml2js.Builder({
renderOpts: { pretty: false },
xmldec: { standalone: 'no' }
});

Com essas alterações, o XML gerado mantém o formato original, preservando a validade da assinatura digital.

Sugestão de Melhoria:

Sugiro que o método generateQR permita a configuração das opções de formatação do XML através de parâmetros opcionais. Isso daria aos usuários a flexibilidade de escolher entre um XML formatado ou compacto, dependendo de suas necessidades específicas.

Benefícios:

  • Preservação da assinatura digital ao evitar alterações desnecessárias no formato do XML.
  • Maior flexibilidade para os usuários do módulo.

Agradecimento:

Agradeço pelo excelente trabalho no desenvolvimento deste módulo. Espero que esta sugestão possa contribuir para melhorar ainda mais a funcionalidade oferecida.

Passos para Reproduzir o Problema:

  1. Assine um XML digitalmente.
  2. Use o método generateQR para adicionar um QR Code.
  3. Observe que o XML resultante tem quebras de linha e indentação, invalidando a assinatura.

Ambiente:

  • Versão do módulo: 1.0.9
  • Node.js: v22.13.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions