-
Notifications
You must be signed in to change notification settings - Fork 8
Description
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:
- Assine um XML digitalmente.
- Use o método generateQR para adicionar um QR Code.
- 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