Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Olá prezados colegas,

 

Estou implementando o QR Code 3.0 da NFCE aqui no meu Sistema e estou com dificuldade em construir o XML que contém a string de dados concatenados da URL do QRCODE para ser assinada.

Alguém sabe como é a configuração do XML para assinar essa string?

Abaixo é o modelo que estou usando mas não está dando certo a assinatura.

cXML:=STRTRAN(cXML,'<Signature></Signature>','<?xml version="1.0" encoding="UTF-8"?>' +;
                                             '<documento>' +;
                                             '<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">'+;
                                             '<ds:SignedInfo>'+;
                                                '<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />'+;
                                                '<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />'+;
                                                '<ds:Reference URI="#obj" Type="http://www.w3.org/2000/09/xmldsig#;Object">'+;
                                                 '<Transforms>'+;
                                                      '<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />'+;
                                                      '<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />'+;
                                                   '</Transforms>'+;
                                                   '<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />'+;
                                                   '<ds:DigestValue>'+;
                                                  '</ds:DigestValue>'+;
                                                '</ds:Reference>'+;
                                             '</ds:SignedInfo>'+;
                                             '<ds:SignatureValue>'+;
                                             '</ds:SignatureValue>'+;
                                                   '<ds:KeyInfo>'+;
                                                '<ds:X509Data>'+;
                                                   '<ds:X509Certificate>'+;
                                                   '</ds:X509Certificate>'+;
                                                '</ds:X509Data>'+;
                                             '</ds:KeyInfo>'+;
                                             '<ds:Object id="obj" MimeType="text/plain">' + cStr_2_assinar + '</ds:Object>' +;
                                          '</ds:Signature></documento>')

 

Alguém sabe qual é o modelo correto de XML?

Obrigado,

Jair Pereira


 

 

 

 

Postado
2 horas atrás, Juliomar Marchetti disse:

mas não precisa o componente já faz isso. tu alimenta ele e ele vai fazer a geração

falamos do ACBrNFe aqui nesse sbuforum

 

Eu não uso os componentes da ACBR. Desenvolvo tudo na linguagem harbour.

 

Eu precisava achar qual é  a receita de XML utilizada para assinar uma string para produzir o QRCode 3.0.

 

Seria bom se pudesse achar isso no código fonte dos componentes do ACBR... mas eu não sei mais o caminho do código fonte dos componentes da ACBR lib na internet.

 

Valeu, se tiver mais alguma sugestão eu agradeço.

 

Jair

 

 

Postado
3 horas atrás, Juliomar Marchetti disse:

mas não precisa o componente já faz isso. tu alimenta ele e ele vai fazer a geração

falamos do ACBrNFe aqui nesse sbuforum

Eu baixei o código fonte dos componentes do ACBR mas não achei nada sobre QRCode 3.0 nem assinatura de string.... tu sabes onde estão esses pontos no código fonte?

Será que eu baixei código fonte desatualizado?

Consegue dar uma luz nesses pontos?

Obrigado,

Jair Pereira

  • Moderadores
Postado
2 horas atrás, jairxpereira disse:

Eu não uso os componentes da ACBR. Desenvolvo tudo na linguagem harbour.

Neste caso usa o monitor ou lib . tu gera o ini e ele faz o xml e transmite pra ti

1 hora atrás, jairxpereira disse:

Será que eu baixei código fonte desatualizado?

eu creio que não pois é no svn.

mas tu programa em delphi ou lazarus?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado
5 horas atrás, jairxpereira disse:

Eu baixei o código fonte dos componentes do ACBR mas não achei nada sobre QRCode 3.0 nem assinatura de string.... tu sabes onde estão esses pontos no código fonte?

image.png

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
9 horas atrás, BigWings disse:

image.png

No código fonte da ACBR lib tem o código fonte dessa função SSL.CalcHash() ou ela está contida numa DLL?

 

Obrigado,

Jair Pereira

  • Moderadores
Postado
55 minutos atrás, jairxpereira disse:

No código fonte da ACBR lib tem o código fonte dessa função SSL.CalcHash() ou ela está contida numa DLL?

Esse fonte é do core do ACBr não vai estar na ACBrLib.

E ela chama funções da OpenSSL ou WinCrypt conforme a configuração.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Beleza. Valeu pela informação.

 

Consegui fazer a assinatura de uma string com certificado a1. Só que agora estou na dúvida qual é a tag do resultado assinado <ds:DigestValue> ou será <ds:SignatureValue>???

 

Sei que um deles vai no QRCode 3.0, mas qual?

Postado
Em 12/08/2025 at 12:22, jairxpereira disse:

Beleza. Valeu pela informação.

 

Consegui fazer a assinatura de uma string com certificado a1. Só que agora estou na dúvida qual é a tag do resultado assinado <ds:DigestValue> ou será <ds:SignatureValue>???

 

Sei que um deles vai no QRCode 3.0, mas qual?

É <ds:DigestValue>.

Postado

Oi Pessoal,

Eu testei o QRCode 3.0 off-line em homologação na SEFAZ SP e achei uns problemas no meu teste.

1) No processo de validação do QRCode 3.0 off-line está exigindo CPF ou CNPJ enquanto que no manual da especificação do QRCode diz que essas informações não são obrigatórias, que elas podem ir vazias.  Como é que eu trato esse dilema?

2) A assinatura exigida pela SEFAZ SP em homologação não ficou conforme nota técnica 2025.001, eu usei apenas SHA-1 sem usar certificado, sem usar encode em BASE64 e passou. Será que o ambiente de homologação de São Paulo está com problema? A assinatura conforme especificação do manual do QRCode 3.0 não passou.

3) A parte inicial da URL é diferente para QRCODE 2.0 e QRCODE 3.0 ???

É isso?

QR Code 2.0 ??? ==> https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx
QR Code 3.0 ??? ==> https://www.homologacao.nfce.fazenda.sp.gov.br/qrcode

 

Obrigado, pessoal

Jair Pereira

 

 

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...