frones / nfe

Bibliotecas para geração, validação, assinatura e transmissão de XMLs da NFe em Go
Mozilla Public License 2.0
33 stars 11 forks source link

Usar crypto/tls ao invés de OpenSSL na comunicação #2

Open frones opened 4 years ago

frones commented 4 years ago

A crypto/tls apresentou algum tipo de incompatibilidade na comunicação com a Sefaz do RS (tanto o servidor principal do estado quanto o SVRS): um erro 403 Forbidden intermitente e que não consegui debugar.

Esse problema causava dificuldades em todos os webservices em boa parte das UFs, o que tornava a biblioteca bastante instável. A alteração para a OpenSSL parece ter resolvido esse problema, mas tornou a compilação do programa muito mais trabalhosa em Windows (em Linux parece permanecer com a mesma simplicidade)

Criei um branch StdCrypto onde vou manter o código compatível da biblioteca usando a crypto/tls e assim que tiver um tempo, vou tentar novamente debugar e resolver o problema.

Thiagohalves85 commented 2 months ago

Olá frones, se ainda estiver com esse projeto, já faz tempo rsrs. Conseguiu algum sucesso ao comunicar com a SEFAZ de RS. Já estamos em 2024 e ainda estou tendo problemas com isso

frones commented 2 months ago

Opa, @Thiagohalves85 ! Sim, eu consegui resolver esse problema usando o workaround que descrevi no readme.

frones commented 2 months ago

@Thiagohalves85 rapaz, agora vc testou minha memória hahaha Mas eu acho que basta você não retornar um erro no SupportsCertificate quando não encontrar um match com a lista de acceptable certificates, nessa linha.

Thiagohalves85 commented 2 months ago

@frones Obrigado pelo retorno. Consegui encontrar o ponto da alteração. Só estou quebrando a cabeça em fazer o workaround da biblioteca tls, pra naõ quebrar a de produção. Mas isso já estou desenvolvendo. Muito obrigado!

Thiagohalves85 commented 2 months ago

@frones, chegou a ver algo de impressão da DANFE? Eu estou montando uma aqui com template e a impressão em pdf estou usando o chromedp. Já pensou em algo do tipo?

frones commented 2 months ago

@Thiagohalves85 não tentei fazer impressão pelo go. Se eu fosse trabalhar em algo nesse sentido, muito provavelmente minha estratégia seria de montar um HTML template e deixar a renderização/impressão a cargo do navegador, incluindo geração de PDF se necessário.

Thiagohalves85 commented 2 months ago

@frones Então, eu até já estou finalizando o template html. O problema é que não é muito legal deixar como uma página, já que com um ctrl+F12 consegue modificar os dados da Danfe rsrs. Além de clientes que querem usar o verso da página. Mas pra isso dá até pra abrir uma nova issue voltada só para impressão rsrs