Ir para conteúdo
  • Cadastre-se

dev botao

Usando Capicom, MsXML, LT-All e outras configurações semelhantes nos DFes? Saiba porque você está atrasado!


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

Recommended Posts

  • Consultores

Contextualizando.

As configurações de SSLLib, CryptLib, HttpLib, XmlSignLib e SSLType são comuns a todos as soluções de Documentos Fiscais Eletrônicos do ACBr.

Aqui vamos considerar os exemplos nativos, mas essas configurações também se aplicam ao ACBrMonitorPLUS e ACBrLib.

As configurações SSLLib, CryptLib, HttpLib e XMLSignLib costumam ficar na aba Certificado dos programas exemplo e podem ser definidas via código da seguinte maneira:

ComponenteDFe.Configuracoes.Geral.SSLLib        := libOpenSSL ou libWinCrypt;//Dependendo do tipo de certificado ser A1 ou A3.
ComponenteDFe.Configuracoes.Geral.CryptLib      := cryOpenSSL ou cryWinCrypt;//Dependendo do tipo de certificado ser A1 ou A3.
ComponenteDFe.Configuracoes.Geral.SSLHttpLib    := httpOpenSSL ou httpWinHttp;//Dependendo do tipo de certificado ser A1 ou A3.
ComponenteDFe.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2;

Se o certificado digital for A3 só vai ser possível usar as configurações do WinCrypt, por outro lado se for A1 poderá usar o WinCrypt ou OpenSSL.

Recomendamos fortemente que o certificado seja A1. Desta forma podemos usar o OpenSSL e não precisamos nos preocupar com a versão Windows e suas atualizações. Além disso, o certificado não precisa ser instalado, pode ser lido de uma pasta onde esta salvo ou de um campo do banco de dados.

 Essas configurações influenciam comportamentos como protocolo de comunicação, assinatura, validação de schema, entre outros.

Já a configuração SSLType costuma ficar na aba WebService dos programas exemplos e pode ser definida via fonte assim:

ComponenteDFe.SSL.SSLType := LT_TLSv1_2;

Como o nome sugere, essa configuração influencia se vai qual protocolo TLS ou SSL será usado na comunicação.

Porque você está atrasado.

Além de não suportar 64 bits, a Microsoft condenou a CAPICOM como obsoleta desde 2016. Então, se você ainda usa configuração de Capicom está usando algo defasado, aberto a erros e com brechas de segurança.

A MsXML foi descontinuada pela Microsoft em 2014 e atualmente é considerada obsoleta. Usar essa configuração para assinatura ou validação significa usar algo ultrapassado, que não sofre manutenção e com maior propensão a erros. Se você vai usar certificado A3, não deve em hipótese alguma usar MsXML, sob risco de inutilizar a chave privada do certificado digital.

Praticamente todos os DFes atuais estabeleceram que deve ser usado TLS1.2 na comunicação. Por isso, foi atualizado nos fontes para que os DFes usem como padrão TLS1.2 ao invés de LT_all.

Se você mesmo assim ainda usa essa configuração, o componente vai usar o primeiro protocolo disponível e não o mais indicado.

O que eu uso então?

As configurações recomendadas por tipo de certificado podem ser encontradas neste tópico:

Caso prefira, também pode acompanhar este vídeo com orientações e demonstração prática:

 

Mais informações.

Veja mais detalhes sobre como o ACBr deu Bye Bye para a Capicom neste tópico:

 

No tópico abaixo foi relatado o problema com MsXML e perda da chave privada de certificados A3:

 

  • Curtir 3
  • Obrigado 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Diego Foliene changed the title to Usando Capicom, MsXML, LT-All e outras configurações semelhantes nos DFes? Saiba porque você está atrasado!
×
×
  • 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.

The popup will be closed in 10 segundos...