Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2266 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores
Postado

Boa tarde Claudio,

Verificando o arquivo 1-env-lot.xml, tanto o RPS quando ao Lote estão assinados.

Nesse mesmo arquivo consta a tag <EnviarLoteRpsEnvio>.

Existe um problema que se refere a assinatura, veja:

<MensagemRetorno>
  <Codigo>E1</Codigo>
  <Mensagem> Assinatura do Hash não confere</Mensagem>
  <Correcao> Reenvie asssinatura do Hash conforme algoritmo estabelecido no Manual de Instrução da NFS-e</Correcao>
</MensagemRetorno>
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 meses depois ...
Postado

Ainda estou tentando com este provedor de Salvador, acredito que ninguém ainda tenha conseguido pelo ACBr. Se sim por favor compartilhe a solução que teve para que possamos seguir o mesmo caminho.

Alguns fatos ou descobertas que compartilho com os colegas:

- Aconteceu e continua o erro “E1 – Assinatura do Hash não confere”;

- A tag “id” para assinatura tem que ser com "i" minúsculo e não como em tantos outros WEBSERVICES, mas desta maneira a assinatura do não fica correta e não passa para a prefeitura;

- Se alterar no arquivo SALVADOR.INI o parâmetro em [Geral][Identificador] e deixar para fazer o Id com ‘’I” em maiúsculo o arquivo é assinado corretamente porém não passa pelo WS de Salvador, pode usar o seguinte site para testes do XML produzido com “id” e “Id” no link: http://validator.doctrails.net/default.aspx , este foi o mesmo que um suporte da prefeitura de lá me passou e disse que meu XML produzido era inválido;

- É dito que é padrão ABRASF mas na verdade tem modificações, exemplo: BHISS que serve para BELO HORIZONTE, PORTO ALEGRE também é ABRASF e testei pelo mesmo link ali de cima e lote e rps estão assinados corretamente com seus respectivos schemas com “Id” com I maiúsculo;

- Tentei colocar tags extras ou identificador na tag ID como sugerido no fórum (http://javahome.com.br/jc/posts/list/45/1287.page#top) para tentar assinar mas continua com problema de assinatura;

- Fiz uma assinatura com a DLL (nfseutil.dll) disponibilizada pela prefeitura de Salvador com um certificado do tipo A1 e funcionou, porém com um certificado A3 isto não é possível, pelo menos com Win10, devido ao certificado ficar no repositório Pessoal (PERSONAL) e não no Computador Local (MY) que é onde a DLL faz requisição, não posso limitar o cliente a usar somente certificados A1 e também pela própria informação da prefeitura de que a biblioteca foi descontinuada em nov/2013, aliás o único retorno que tenho de lá é que devo baixar os SCHEMAS, EXEMPLOS e MANUAIS (abrasf) e me basear por estes, mas não funcionam;

- Não achei ninguém de DELPHI ainda em pesquisas ou até mesmo outras linguagens e comunidades que estejam produzindo e funcionando com este provedor.

Postado
40 minutos atrás, rubenstz disse:

Ainda estou tentando com este provedor de Salvador, acredito que ninguém ainda tenha conseguido pelo ACBr. Se sim por favor compartilhe a solução que teve para que possamos seguir o mesmo caminho.

Alguns fatos ou descobertas que compartilho com os colegas:

- Aconteceu e continua o erro “E1 – Assinatura do Hash não confere”;

- A tag “id” para assinatura tem que ser com "i" minúsculo e não como em tantos outros WEBSERVICES, mas desta maneira a assinatura do não fica correta e não passa para a prefeitura;

- Se alterar no arquivo SALVADOR.INI o parâmetro em [Geral][Identificador] e deixar para fazer o Id com ‘’I” em maiúsculo o arquivo é assinado corretamente porém não passa pelo WS de Salvador, pode usar o seguinte site para testes do XML produzido com “id” e “Id” no link: http://validator.doctrails.net/default.aspx , este foi o mesmo que um suporte da prefeitura de lá me passou e disse que meu XML produzido era inválido;

- É dito que é padrão ABRASF mas na verdade tem modificações, exemplo: BHISS que serve para BELO HORIZONTE, PORTO ALEGRE também é ABRASF e testei pelo mesmo link ali de cima e lote e rps estão assinados corretamente com seus respectivos schemas com “Id” com I maiúsculo;

- Tentei colocar tags extras ou identificador na tag ID como sugerido no fórum (http://javahome.com.br/jc/posts/list/45/1287.page#top) para tentar assinar mas continua com problema de assinatura;

- Fiz uma assinatura com a DLL (nfseutil.dll) disponibilizada pela prefeitura de Salvador com um certificado do tipo A1 e funcionou, porém com um certificado A3 isto não é possível, pelo menos com Win10, devido ao certificado ficar no repositório Pessoal (PERSONAL) e não no Computador Local (MY) que é onde a DLL faz requisição, não posso limitar o cliente a usar somente certificados A1 e também pela própria informação da prefeitura de que a biblioteca foi descontinuada em nov/2013, aliás o único retorno que tenho de lá é que devo baixar os SCHEMAS, EXEMPLOS e MANUAIS (abrasf) e me basear por estes, mas não funcionam;

- Não achei ninguém de DELPHI ainda em pesquisas ou até mesmo outras linguagens e comunidades que estejam produzindo e funcionando com este provedor.

Na verdade o repositório que me refiro PESSOAL e MY, quis dizer: CERTIFICADOS do USUÁRIO ATUAL e CERTIFICADOS (computador local) que é onde o certificado A1 funciona para assinatura com a dll da prefeitura de Salvador.

  • 4 semanas depois ...
Postado

Olá, você poderia me ajudar?
Estamos iniciando o desenvolvimento do NFS-E através do NOTA SALVADOR.
Encontramos o XSD / XML de NFTS da SALVADOR NOTA. (E eles não são o mesmo que eu entendo)
Eu só encontro LOS XSD / XML de NFS-E de SEFAZ (E eles não são iguais, eu entendo)

 

Agradecemos antecipadamente

  • 2 semanas depois ...
Postado
Em 15/01/2018 at 09:10, Italo Jurisato Junior disse:

Bom dia,

O componente ACBrNFSe já esta preparado para emitir a NFS-e de Salvador.

Favor utilizar o programa exemplo para iniciar os testes.

Caro Ítalo. Bom dia!

Ainda não tive sucesso nas tentativas de enviar RPS para o provedor Salvador. Apaguei todo o diretório do ACBr, baixei tudo de novo porém o erro persiste.

image.png.d97dec7887936a01bf1f6a7eb305381e.png

Alguém do projeto ACBr já entrou em contato com o suporte da prefeitura de Salvador?

Obrigado pela atenção.

Cláudio Neri

  • 1 mês depois ...
Postado

Boa tarde pessoal,

Estão conseguindo integrar NFSe com a prefeitura de Salvador?

Estamos tentando integrar e estamos com a seguinte situação... arquivo INI de Salvador está configurado para assinar o RPS e assinar o Lote porém ao enviar para a prefeitura o XML fica assinado apenas no lote e a prefeitura retorna que faltou assinar o lote.

Em anexo XMLs, se puderem nos auxiliar agradeço.

 

42-rec.xml

42-env-lot.xml

3518031831774500014456000000000000001-rps.xml

  • Consultores
Postado

Boa tarde Diego,

Favor atualizar todos os fontes de todas as pastas e reinstale os componentes e faça novos testes usando o programa exemplo.

Pois acabei de fazer um teste com os fontes que estão no repositório e o XML de envio de lote foi gerado com as 2 assinaturas, ou seja, o RPS esta assinado e o lote também.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 4 semanas depois ...
Postado

Bom dia a todos.

Eu venho acompanhando este post há bastante tempo, pois temos clientes em Salvador e precisamos emitir NFSe. contudo mesmo com os fontes atualizados, ao enviar o lote recebemos uma mensagem de rejeição "Hash não confere"

Identifiquei que o ACBR faz a assinatura e em seguida altera a tag <Reference URI=""> para  <Reference URI="#RPS???">  no caso dos RPS e  <Reference URI="#LOTE???"> no caso do lote.

Pergunta.

Quando isso acontece a assinatura (<SignatureValue> que por sua vêz é o hash do bloco <SignedInfo>) não fica inválida ??

Porque não ajusta o Reference URI antes de assinar ?

Desde já obrigado.

  • Consultores
Postado

Bom dia Rogério,

Você esta com todos os fontes atualizados, inclusive os arquivos INI?

A sua aplicação esta usando o arquivo Salvador.INI atualizado, ou seja, o que esta na pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI

E o que é correto, o atributo URI ser vazio tanto na assinatura do RPS quanto do Lote, ou não?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado (editado)

Olá Ítalo.

Está tudo atualizado sim.

O XML está sendo gerado corretamente ( URI preenchido )  tanto no LOTE quanto no RPS

Contudo recebo retorno com o erro "Hash não confere". Por isso perguntei se o ajuste que o ACBR faz no XML após a assinatura não estaria interferindo na validação do Hash da tag <SignatureValue> , que por sua vez é o hash do bloco <SignedInfo>., que é justamente onde tem o ajuste na tag <Reference URI>.

Entendeu ?

Editado por rogerioxsandro
Correção Ortográfica.
  • Consultores
Postado

Rogério,

Se esta tudo atualizado então a sua aplicação esta usando um arquivo Salvador.ini desatualizado, pois no que esta no repositório temos:

[Assinar]
RPS=1
Lote=1
URI=0

O valor zero em URI instrui o componente a deixar o valor do atribui URI vazio.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Obrigado pelas respostas ítalo., 
Obtive informações de que é obrigatório preencher o URI, mas de qualquer forma eu vou fazer uns testes sem o URI e depois volto para dizer o resultado.

Me aguarde .

 

 

  • Curtir 1
Postado (editado)

Bom dia Ítalo.
Estou aqui novamente.

Eu enviei ( ou tentei enviar )  das duas formas com o URI preenchido e também vazio. ( Salvador.ini configurado com 0 ( zero) e com 1 (um) na tag de assinatura da URI )
Nas duas tentativas obtive a mesma resposta ( E1 - Hash não confere )

650337320_Imagemdaresposta.PNG.12e7159643d8d5e13c40bdd30eeca3cf.PNG

De qualquer forma ainda não consegui enviar com sucesso para a prefeitura de Salvador.

OBS Eu estou assinando com MSXMLX , o Id do lote está em Minúsculo ( id )
já não sei mais o quê pode ser .

 

Desde já agradeço.  

Editado por rogerioxsandro
Complemento / informações
  • 2 semanas depois ...
  • 1 mês depois ...
Postado

Bom dia a todos,

Existe algum desenvolvedor que conseguiu gerar a NFSe para SALVADOR? Também tenho acompanhado e cheguei há algum tempo na mesma situação do rogerioxsandro mostrando que a assinatura do HASH não funciona.

Me responderam a respeito da assinatura com o "id" em minúsculo:

"Conforme uma atualização do FrameWork.NET que realiza a validação do XML, a tag “id” passou a ser minúscula, depois de nova atualização o resultado passou a ser obrigatório ser alfanumérico (letra e número), estas atualizações não modelo ABRASF, e sim de forma mundial feitas pela Microsoft, com o intuito de aumentar a segurança do arquivo XML. Com o aumento de ataques virtuais, os servidores da SEFAZ são atualizados constantemente, tendo assim estas atualização do FrameWork.NET causado um impacto na montagem do arquivo. Assim, a assinatura do arquivo deve ser com letras minúsculas e com resultado alfanumérica como arquivo exemplo anexo."

Se alguém já estiver assinando pelo ACBr por gentileza ajude postando no forum.

 

  • Consultores
Postado

Bom dia Rubens,

Eu não vejo o que melhoraria na segurança se o nome do atributo é id ou Id.

Agora, se o  valor do atributo ID em vez de ser apenas 123 e passar a ser RPS123 ou Rps123 ou rps123 e este valor ser utilizado na assinatura ai eu concordo que segurança será mais fraca ou mais forte dependendo do valor atribuído ao atributo ID.

Outra coisa, no ACBrNFSe para o provedor Salvador temos:

Identificador=id

portanto o atributo ID esta todo minúsculo.

O valor do ID do RPS é:

    proSalvador: FNFSe.InfID.ID := 'RPS' + OnlyNumber(FNFSe.IdentificacaoRps.Numero);

Note que o valor é alfanumérico, a duvida agora é o literal "RPS" tem que ser todo minúsculo?

O valor do ID do Lote é:

    proSalvador: IdLote := 'Lote' + NumeroLote;

Note que o valor é alfanumérico, a duvida agora é o literal "Lote" tem que ser todo minúsculo?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom dia Italo,

Demorei um pouco pois estava simulando alguns testes também com um trial de um outro componente de envio (pago).

Em anexo estão dois arquivos gerados ACBR, RPS e lote de envio.

acbr_1-env-lot.xml
acbr_1NF-rps.xml

E também junto o arquivo de lote gerado com o outro componente assinado também, tentei deixar os dois arquivos iguais para bater a assinatura do certificado mas tem algum caracter ou texto do arquivo gerado pelo outro componente que não identifiquei, como não tenho fonte dele não mexi muito. Arquivo:

lote_assinado_outro_componente.xml

O principal problema, de conhecimento de vários aqui, para SALVADOR é o que mostra "ASSINATURA DO HASH NÃO CONFERE", conversando com o suporte da prefeitura me disseram que eu poderia testar os xmls assinados a partir do seguinte link: http://validator.doctrails.net/default.aspx .

Verificando com este site o arquivo de RPS somente gerado pelo ACBr, me retorna como VÁLIDO.

Verificando o arquivo de lote assinado pelo outro componente também me retorna também como VÁLIDO.

Verificando o arquivo com o lote do ACBr com o RPS assinado dentro dele, me retorna INVÁLIDO.

É este hash inválido que o sistema da prefeitura de Salvador acusa no momento do envio.

OBS.: durante os testes para gerar o arquivo igual ao componente de terceiros (vejam que ele não usa) comentei nos meus fontes do ACBr para gerar a assinautra sem a tag <TRANSFORMS> na unit ACBrDFeUtil.pas na função SignatureElement, mas com ela ou sem ela o RPS continua válido e o LOTE inválido da mesma maneira. 

Vlw

 

 

 

acbr_1NF-rps.xml

lote_assinado_outro_componente.xml

acbr_1-env-lot.xml

  • Consultores
Postado

Bom dia Rubens,

Pelo que notei no XML gerado pelo outro componente não contem dentro da assinatura o grupo <Transforms>.

Você removeu esse grupo da assinatura do XML gerado pelo componente ACBNFSe?

Se sim, como você fez?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom dia Italo,

Removi comentando na unit:

// ACBrDFeUtil.pas
// function SignatureElement(
...

      '<Reference URI="' + IfThen(URI = '', '', '#' + URI) + '">' +
//        '<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>' +
        '<DigestMethod Algorithm="'+DigestAlgorithm+'" />' +
        '<DigestValue></DigestValue>' +
      '</Reference>' +

...

Mas fiz isto apenas para tentar deixar igual ao componente pago, pois vi que ele não utiliza, mas acredito que isto não vá fazer diferença pois o arquivo somente do RPS assinado fica VALIDO com ou sem esta TAG, o problema mesmo esta na assinatura do lote todo com os RPS. Achei até que poderia estar assinando o lote antes de montar todos os RPS dentro dele, mas não parece ser o caso.

Estou trabalhando para que funcione com esta prefeitura pois é uma das poucas grandes que não temos o ACBr funcionando nela. Aos amigos que puderem ajudar vamos trocar mensagens.

Abs,

 

 

  • Consultores
Postado

Rubens,

O grande problema é o seguinte.

Todos os componentes, ACBrNFe, ACBrCTe, ACBrMDFe, ACBrBPe, ACBreSocial, ACBrReinf e ACBrNFSe no que diz respeito a assinatura segue o padrão estabelecido pelo  ICP Brasil.

O Provedor Salvador que atende somente a cidade de Salvador esta fora desse padrão.

A ausência do grupo <Transforms> da assinatura deixa ela sem nenhuma segurança, pois sem ela pegamos o XML e calculamos o Hash, por outro lado com ela antes de calcular o Hash ocorre a transformação do conteúdo isso deixa a assinatura mais segura.

O correto é o provedor rever o que foi feito e passar a seguir o ICP Brasil.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 2266 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.