Jump to content

Delphi Enterprise 
pela METADE DO PREÇO

botao_delphi.png

 

 

tp_550_logo.png Homologação ACBr Apresenta:
Nova  Impressora
TP-550

botao_saibamais.png

 

 

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Daniel Simoes

ACBrDFe OpenSSL e TLS1.2

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

Recommended Posts

Olá pessoal,

Acabei de enviar para o SVN, modificações para que o ACBrDFe e ACBrDFeOpenSSL suportem comunicação segura usando TLS 1.2

Citar

23/12/2016
-- ACBrDFeOpenSSL --
[+] Adicionada a propriedade "SSLType: TSSLType default LT_all", podendo ser:
    (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2)

O componente ACBrNFe, já irá tentar ajustar a comunicação para TLS 1.2, se detectar que a versão é superior a 3.1

Citar

23/12/2016
-- ACBrNFeWebServices --
[*] Método: TNFeWebService.InicializarServico, modificado para ajustar o tipo de
    comunicação para TLS1.2, se VersaoDF > ve310 e SSLlib = libOpenSSL
    (por: DSA)  

 

Atualizando o OpenSSL

 

ErroOpenSSLInferior101.png
Para usar TLS 1.2, é necessário ter a versão do OpenSSL superior a 1.0.1, normalmente a versão usada é a 0.9.8.14, e portanto ela precisa ser substituída. Se você tentar utilizar uma versão inferior, o ACBrDFeOpenSSL acusará o seguinte erro:

 

 

Porém não basta apenas baixar e copiar uma nova versão das DLLs do OpenSSL (libeay32.dll e ssleay32.dll).  O problema, é que a libxmlsec, que se encontra na pasta: "ACBr\DLLs\XMLSec", não é compatível com OpenSSL superior a 0.9.8...  :( e se você simplesmente atualizar as Libs do OpenSSL no seu sistema, provavelmente o ACBrNFe, passará a acusar Exceptions no momento de assinar o XML

A solução, é utilizar um novo conjunto de DLLs, da OpenSSL e libXmlSec, libXML, e demais... você pode achar essas DLLs em: ftp://ftp.zlatkovic.com/libxml/

Essas DLLs foram compiladas com "MinGW", e portanto elas precisarão das DLLs de RunTime, da MinGW. Para sua conveniência, copiamos todas as DLLs necessárias para a pasta: \ACBr\\DLLs\XMLSec\MinGW.

Observe que temos a versão 32 e 64 bits dessas DLLs... quais eu devo usar ? Em resumo, use 32 se o seu Compilador é 32 bits, e 64 apenas se você estiver usando um Compilador que gere .EXE em 64 bits...

Leia esse tópico, para compreender melhor:

Copie TODAS as DLLs (e não somente algumas)  da pasta "\ACBr\DLLs\XMLSec\MinGW\32" ou "\ACBr\trunk2\DLLs\XMLSec\MinGW\64" (conforme o seu compilador), para o seu diretório de DLLs... (se não tem certeza para onde você deve copiar as DLLS, leia com atenção o Post indicado anteriormente)

 

Outro problema, é que a MinGW, gera as DLLs com uma nomenclatura ligeiramente diferente do VisualC, exemplo: libxmlsec1.dll com MinGW, e "libxmlsec.dll" com VisualC. Portanto, o ACBr teria dificuldades em encontrar essas DLLs e carrega-las de forma dinâmica.

Precisamos portanto, informar ao ACBr, que usaremos o conjunto de DLLs no formato da MinGW... Isso é feito, editando o arquivo: ACBr.inc.

Repare que lá no final do ACBr.inc, temos a seguinte linha:

{.$DEFINE USE_MINGW}

Apenas remova o ".", alterando para:

{$DEFINE USE_MINGW}   

 

Pronto...  com isso você estará pronto para usar o ACBr com OpenSSL e TLS 1.2, seja em 32 ou 64 bits...

 

Obrigado... e considere nos ajudar, contratando o SAC ocasionalmente:
http://www.projetoacbr.com.br/forum/sacv2/sobre/
http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/

http://www.projetoacbr.com.br/forum/sacv2/cadastro/

 

 

 

  • Like 24
  • Thanks 6

Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

@Daniel Simoes Apenas uma dúvida, hoje eu compilo o ACBrMonitorPLUS, eu mudando a diretiva {$DEFINE USE_MINGW} vai afetar algo no comportamento do Monitor?

Exemplo, notas na versão 3.10 com OpenSSL continuaram a funcionar? Meus clientes configurados em CAPICOM continuaram a funcionar?

Pergunto isso porque usando CAPICOM já está tudo certo na versão 4.0 e preciso mudar meu sistema para funcionar também com OpenSSL e tenho clientes configurados dos dois jeitos.

Desde já agradeço a atenção.

 

Obrigado

Share this post


Link to post
Share on other sites

Mudo o que está descrito no tópico.. ou seja, você precisa de um novo jogo de DLLs.

a Diretiva MinGW apenas afetará o suporte a XMLSec, ou seja, não tem nenhuma relação com a CAPICOM


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

Consegui arrumar!!!

Apenas as DLL, da pasta da aplicação que tinha algumas que estava conflitando.

Eu limpei as DLL, e coloquei apenas as necessárias. Funcionou perfeitamente!

Valeu galera!

Abraço!

 

  • Like 1

Share this post


Link to post
Share on other sites

Amigos, após configurar o ACBr.inc para usar as biblioteca MingW {$DEFINE USE_MINGW}, eu consigo compilar e reinstalar o componente normalmente, sem erros, mas ao tentar abrir o Delphi ele me retorna o seguinte erro:

não foi possivel carregar acbr_nfe.bpl

Os arquivos .bpl estão na pasta, já fiz a desinstalação e instalação novamente e mesmo usando a opção para limpar os arquivos antigos, não funciona.

Um detalhe é que se eu comentar a linha {$DEFINE USE_MINGW} novamente, volta a funcionar tudo normalmente.

Alguem tem alguma dica?

 


Gilson do Carmo
WindSoft Sistemas

Share this post


Link to post
Share on other sites
  • Este tópico foi criado há 738 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui
Guest
This topic is now closed to further replies.

×
×
  • Create New...