jairxpereira Postado 11 Agosto Postado 11 Agosto 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
Moderadores Juliomar Marchetti Postado 11 Agosto Moderadores Postado 11 Agosto 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
jairxpereira Postado 11 Agosto Autor Postado 11 Agosto 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
jairxpereira Postado 11 Agosto Autor Postado 11 Agosto 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 Juliomar Marchetti Postado 11 Agosto Moderadores Postado 11 Agosto 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? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Moderadores BigWings Postado 12 Agosto Moderadores Postado 12 Agosto 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? BigWingsAjude o Projeto ACBr crescer - Assine o SAC
jairxpereira Postado 12 Agosto Autor Postado 12 Agosto 9 horas atrás, BigWings disse: 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 BigWings Postado 12 Agosto Moderadores Postado 12 Agosto 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. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
jairxpereira Postado 12 Agosto Autor Postado 12 Agosto 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?
jairxpereira Postado 15 Agosto Autor Postado 15 Agosto 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>.
jairxpereira Postado 15 Agosto Autor Postado 15 Agosto 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
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora