Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boas Novas:

Consegui assinar usando a MScrypto sem MSXML e LibXMLSec. Amanhã vou refatorar e testar se não causa nenhum problema no certificado.

image.thumb.png.78c92e1e877e337bcce81dcf8b6a4923.png

  • Curtir 6
  • Obrigado 4
Postado

Sim, já segui esse padrão, ela vai depender apenas da libXML2, que usei para aplicar as transformações.

Estou terminando de fazer os ajustes, depois posto a unit para ser avaliada.

Postado

Segue uma prévia da Unit.

Antes de mais nada: USE POR SUA CONTA E RISCO. NÃO ME RESPONSABILIZO POR QUALQUER PROBLEMA QUE POSSA DECORRER DESSE CÓDIGO DIRETA OU INDIRETAMENTE! (sim é gritado mesmo).

Não está pronta, precisa implementar/melhorar/testar muita coisa ainda, se você não é um desenvolvedor do ACBR é melhor esperar um versão final.

Está funcionando:

  • Assinatura de NFe;
  • Assinatura de Evento da NFe;
  • Assinatura de Inutilização de Numeração da NFe; 
  • Validações de DFe; 

Precisa ser feito:

  • Implementar VerificarAssinatura;
  • Testar com certificado CNG(no momento não tenho nenhum em mãos, mas vou ter que resolver isso pois pretendo colocar em produção em breve);
  • Melhorar a forma de seleção dos elementos a serem assinados;
  • Compatibilizar com outros documentos(no momento tenho apenas NFe em produção no ACBR);
  • Testar/Compatibilizar com Lazarus;
  • Verificar Memory Leaks;
  • Alterações nas demais Units para suportar a nova classe;

Estou com pouco tempo disponível então toda ajuda é bem vinda. Qualquer dúvida estou a disposição.

 

ACBrDFeXsMsCrypto.pas

  • Curtir 4
  • Fundadores
Postado

Fiz uma analise superficial...

Me parece que você implementou métodos que já existem em TDFeSSLCryptClass como por exemplo:

   function CalcHash( const AStream : TStream;
       const Digest: TSSLDgst;
       const Assina: Boolean =  False): AnsiString; virtual; 

As classes filhas de TDFeSSLXmlSignClass (como é o caso da sua), não deveriam implementar isso... elas devem delegar esse trabalho para a classe TDFeSSLCryptClass que estiver instanciada.. como por exemplo: TDFeWinCrypt ou TDFeOpenSSL

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado (editado)

Humm, olhei só para TDFeSSLXmlSignClass e não analisei a  TDFeSSLCryptClass, fiz um retrabalho danado pois o método CalcHash já assina o Hash também :-(.

Apenas fiquei na duvida no seguinte: Seguindo esse principio que você passou, na TDFeSSLXmlSignMsCrypto quem de fato geraria o Hash e a assinatura seria a  TDFeWinCrypt,  enquanto nas outras a isso fica a cargo da própria classe, como no caso da TDFeSSLXmlSignXmlSec, da TDFeSSLXmlSignMsXml e da TDFeSSLXmlSignMsXmlCapicom, isso não chega a ser um problema, mas não fica meio fora do padrão?

Editado por Delcio
Ortografia
Postado
3 horas atrás, Rafael Dias disse:

... eu já fiz algumas alterações para usar a TDFeWinCrypt e também uma forma melhor de localizar os elementos.

Testei aqui (na NFe somente) e funcionou bem, ficou bem mais limpa.

  • 2 semanas depois ...
Postado

Eu já tive dois clientes que utilizavam certificado A3 e magicamente, as chaves públicas contendo o nome e CNPJ da empresa sumiram(foram excluídas), quando eu entrava em contato com a fabricante, eles sempre colocavam culpa no software emitente do documento fiscal. Na última vez tive até uma discussão feia com o atendente "Nível 4". Mas a fabricante sempre resolvia DANDO gratuitamente outro certificado para o cliente  enviando um voucher para o email do responsável do cert.

Postado

Olá

Tive recentemente um certificado A3 da Boavista, que também foi deletado. A Boavista se isentou de culpa, e na briga entre a Boavista e meu sistema que usa o ACBR, não temos dúvida: fui obrigado a comprar outro certificado para o cliente.

Daí em diante só recomendo que comprem o A1, e nunca desta Boavista.

Postado

Agora aconteceu comigo.

Vou descrever o passo-a-passo para servir de estudo para os companheiros.

Tinha um cliente que tinha uma versão antiga do meu software de nfe, de 12/2016.

Ontem atualizei o software para a minha versão mais nova, já com atualização do ACBR que com certeza não é a mais nova, pois foi compilado em 10/17

e o desgraçado do certificado SOLUTION sumiu do cartão.

É um A3, emitido em 04/2017.

Já tive clientes que emitiram o mesmo cartão, digo do mesmo fornecedor, agora no segundo semestre, e no entanto está tudo correto.

Uma coisa que me chamou atenção, que quando coloquei a nova versão, ao emitir uma nfce ele pediu a senha do cartão, mesmo a mesma sendo informada via software.

Achei estranho, mas prossegui.

Agora o certificado aparece como desconhecido. Do nada sumiu.

O que pode estar acontecendo?

O que me chamou a atenção foi o fato do software antigo rodar tranquilamente com ele, e a versão mais nova acontecer isto.

O que pode ter acontecido?

 

Postado
3 horas atrás, marcio-carneiro disse:

Agora aconteceu comigo.

Vou descrever o passo-a-passo para servir de estudo para os companheiros.

Tinha um cliente que tinha uma versão antiga do meu software de nfe, de 12/2016.

Ontem atualizei o software para a minha versão mais nova, já com atualização do ACBR que com certeza não é a mais nova, pois foi compilado em 10/17

e o desgraçado do certificado SOLUTION sumiu do cartão.

É um A3, emitido em 04/2017.

Já tive clientes que emitiram o mesmo cartão, digo do mesmo fornecedor, agora no segundo semestre, e no entanto está tudo correto.

Uma coisa que me chamou atenção, que quando coloquei a nova versão, ao emitir uma nfce ele pediu a senha do cartão, mesmo a mesma sendo informada via software.

Achei estranho, mas prossegui.

Agora o certificado aparece como desconhecido. Do nada sumiu.

O que pode estar acontecendo?

O que me chamou a atenção foi o fato do software antigo rodar tranquilamente com ele, e a versão mais nova acontecer isto.

O que pode ter acontecido?

 

 

1 hora atrás, João Alberto Amaral disse:

Também estou com este problema, o certificado A3 foi removido duas vezes do cartão do cliente !

Pessoal bom dia.

Esse problema vem acontecendo já ha algum tempo, porém desde a semana passada já tem um tópico informando de um novo método para assinatura, a dúvida é o seguinte, em seus casos você já atualizaram o componente e setaram as configurações para o novo método de assinatura ou não? Pois essa é uma informação muito importante para a comunidade toda.

 

Ricardo Lopes

TECNOSOFT - Solução em Informática

www.tecnosoft.com.br

  • 4 semanas depois ...
Postado

Ola .. Meu certificado A3 acabou de ser excluido. 

 

E justamamente foi após um loop de assinatura de xml. Apos dar uma pausa... e tentar assinar outro xml.. a surpresa.

E realmente foi excluido.

 

 

Postado
Em 05/01/2018 at 16:56, cbsistem disse:

Ola .. Meu certificado A3 acabou de ser excluido. 

 

E justamamente foi após um loop de assinatura de xml. Apos dar uma pausa... e tentar assinar outro xml.. a surpresa.

E realmente foi excluido.

 

 

 

Em 12/12/2017 at 18:42, marcio-carneiro disse:

No meu caso não, ainda uso capicom. 

O que foi estranho foi somente eu trocar a versão do programa acontecer. Pode ser coincidência.

 

Se você usa certificado A3 a unica forma de evitar a perda de mais certificados é usar a nova biblioteca de assinatura que não depende da libxml5.dll que  causava esse problema.

Já testei amplamente e não ocorreu mais a exclusão usando as novas classes, inclusive estou usando em produção já.

Mais informações em:

 

  • Curtir 2
  • 1 mês depois ...
  • Membros Pro
Postado
Em 23/11/2017 at 14:07, Rafael Dias disse:

@Filipe Natividade estamos em fase final de implementação para liberação, a liberação deve ocorrer até o final da próxima semana, se tudo der certo.

Boa tarde, nas versões atuais do ACBR já tem essa implantação? Estou orientando meus clientes a usarem A1, tenho 1 migração mas o cliente tem A3, será que posso fazer sem risco de ter essa exclusão?

  • Fundadores
Postado
5 horas atrás, Rodrigo Goulart Padovezzi disse:

Boa tarde, nas versões atuais do ACBR já tem essa implantação? Estou orientando meus clientes a usarem A1, tenho 1 migração mas o cliente tem A3, será que posso fazer sem risco de ter essa exclusão?

Por favor leia o Topico todo... não é um problema ou erro do ACBr... mas sim do driver do fabricante ou da MSXML.

O ACBr abre a Store do certificado do Windows  em modo Readonly, portanto nunca conseguiria excluir o certificado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

Obrigado pela resposta. Eu li sim, desculpe se me expressei mal, quis na verdade ter conhecimento se após essa nova implementação alguém passou por esse problema. Mesmo não sendo o ACBR.

 

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