Ir para conteúdo
  • Cadastre-se

dev botao

Responsável Técnico - Hash SHA1


Ver Solução Respondido por [email protected],
  • Este tópico foi criado há 1835 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Administradores

Boa tarde.

A exigência do IDCSRT foi adiada de forma indefinida para todas as UFs.

Veja como informar estes dados de forma a conseguir validar seu XML  no tópico a seguir

https://www.projetoacbr.com.br/forum/topic/48833-grupo-de-informações-do-responsável-técnico/

Att.

 

  • Curtir 2
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

11 minutos atrás, Juliana Tamizou disse:

Boa tarde.

A exigência do IDCSRT foi adiada de forma indefinida para todas as UFs.

Veja como informar estes dados de forma a conseguir validar seu XML  no tópico a seguir

https://www.projetoacbr.com.br/forum/topic/48833-grupo-de-informações-do-responsável-técnico/

Att.

 

Obrigado, Juliana, vou aplicar aqui as adequações e posto o resultado.

Link para o comentário
Compartilhar em outros sites

41 minutos atrás, Juliana Tamizou disse:

Boa tarde.

A exigência do IDCSRT foi adiada de forma indefinida para todas as UFs.

Veja como informar estes dados de forma a conseguir validar seu XML  no tópico a seguir

https://www.projetoacbr.com.br/forum/topic/48833-grupo-de-informações-do-responsável-técnico/

Att.

 

 

Link para o comentário
Compartilhar em outros sites

Coloquei o CSRT = '' e o IdCSRT = 0, preenchi os outros dados e a nota passa, gerando o bloco abaixo no XML.

-<infRespTec>

<CNPJ>17317805000166</CNPJ>

<xContato>EDUARDO SENA</xContato>

<email>[email protected]</email>

<fone>11911123344</fone>

</infRespTec>

O problema vai ser quando os dados forem obrigatórios, pois a rotina não gera um string de 28 caracteres para ser colocado no hashCSRT.

Segui os passos da NT:

1. Concatenar o CSRT com a chave da NFe

2. Submeter ao SHA-1, gerando um string de 20 bytes hexa (string de 40 caracteres)

3. EncodeBase64 no resultado do SHA-1 (deveria gerar um string de 28 caracteres, segundo a NT, mas gera um string de 58 caracteres)

4. Atribuir ao campo hashCSRT o valor do passo 4

Caso tenha alguma sugestão sobre o que devo fazer, agradeço.

Eduardo Sena

Link para o comentário
Compartilhar em outros sites

1 hora atrás, mansur disse:

Em CalcularHashCSRT, altere para:

Result := EncodeBase64(SHA1(ACSRT + AChave));

Boa tarde, Mansur.

Ainda não consegui fazer funcionar.

ACSRT = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO

AChave = 33190310894867000191552070000001751000001758

ACSRT + AChave = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO33190310894867000191552070000001751000001758
SHA-1(ACSTR+AChave) = BE8A6126A538F38E2559B56B1C9E783738BFA287
EncodeBase64(SHA-1) = QkU4QTYxMjZBNTM4RjM4RTI1NTlCNTZCMUM5RTc4MzczOEJGQTI4Nw==

Isso resulta no seguinte bloco no XML:

<infRespTec>

    <CNPJ>17317805000166</CNPJ>

    <xContato>EDUARDO SENA</xContato>

    <email>[email protected]</email>

    <fone>11911123344</fone>

    <idCSRT>01</idCSRT>

    <hashCSRT>a& 8o %Y k x78</hashCSRT>

</infRespTec>

Aí a nota não é autorizada.

 

image.png

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Estive analisando os tópicos e pelo que pude compreender para destacar os dados de CSRT bastaria preencher as configurações ACBRNFe.configuracoes.RespTec.IdCSRT e ACBRNFe.configuracoes.CSRT que seria gerado o HASH automaticamente pelo componente, porém quando preencho esses valores está me retornando o seguinte HASH:

<hashCSRT>- A {W t 5ubOaewa:</hashCSRT>

Onde não passa na validação conforme a resposta acima.

 

OBS: Utilizei o mesmo CSRT da NT para teste: G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO 

         Não utilizei o mesmo idCSRT pois no componente este o campo idCSRT é um inteiro, quando forneço o valor de 01 por ser um inteiro é convertido em 1. No meu ver também é um problema.

Link para o comentário
Compartilhar em outros sites

3 horas atrás, mansur disse:

Em CalcularHashCSRT, altere para:

Result := EncodeBase64(SHA1(ACSRT + AChave));

Boa tarde, Mansur.

Ainda não consegui fazer funcionar.

ACSRT = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO

AChave = 33190310894867000191552070000001751000001758

ACSRT + AChave = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO33190310894867000191552070000001751000001758
SHA-1(ACSTR+AChave) = BE8A6126A538F38E2559B56B1C9E783738BFA287
EncodeBase64(SHA-1) = QkU4QTYxMjZBNTM4RjM4RTI1NTlCNTZCMUM5RTc4MzczOEJGQTI4Nw==

Isso resulta no seguinte bloco no XML:

<infRespTec>

    <CNPJ>17317805000166</CNPJ>

    <xContato>EDUARDO SENA</xContato>

    <email>[email protected]</email>

    <fone>11911123344</fone>

    <idCSRT>01</idCSRT>

    <hashCSRT>a& 8o %Y k x78</hashCSRT>

</infRespTec>

Aí a nota não é autorizada.

Descobri que o string resultante do SHA1 tem que ser transformado de Hexa para String, aí gera o string de 28 caracteres quando faço o EncodeBase64.

Mas mesmo assim, na tag hashCSRT o valor fica errado...

Esse é o valor que eu coloquei no campo infRespTec.hashCSRT: vmBhJqU4830lWbVrHH54Nzi/oiE=.

Mas quando o xml é gerado, o valor fica <hashCSRT>a& 8o %Y k x78</hashCSRT>.

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1835 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.