Jump to content

dev botao

Erro -2 no ACBrMonitor no Linux


wrmedeiros
Go to solution Solved by wrmedeiros,
  • Este tópico foi criado há 3025 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Senhores,

Estou testando o ACBrMonitorPlus (0.3.06.0) em um Linux Mint 32 bits (interface MATE).

Configurei o certificado, CSC/Token/etc., mas ao fazer um teste de comunicação recebo a seguinte mensagem de erro:

ATENÇÃO: Chave RSA Privada NÃO pode ser lida no arquivo "swh.ini".

WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro Interno: -2
Erro HTTP: 500

 

Buscando no fórum encontrei um tópico sobre o assunto onde recomendaram atualizar o OpenSSL. Fiz essa atualização, mas o erro persiste (OpenSSL 1.0.1t).

Existe algum flag que permita ter mais detalhes sobre esse erro? (debug)

Minha próxima tentativa é instalar o Lazarus no Mint e tentar debugar por lá, mas antes decidi postar a dúvida por aqui para saber se algum dos colegas tem ideia do que pode está ocorrendo (ou pelo menos uma forma de ter mais informações sobre o erro).

WRMedeiros

Focus

Link to comment
Share on other sites

  • Fundadores

Muito provavelmente houve uma falha na carga do Certificado...

Por via das dúvidas, certifique-se que Path e permissões para o arquivo PFX estão corretas (assim como a senha)

Você consegue abrir a URL de consulta a Serviço no Browser ? (isso pode ajudar a testar o certificado e FireWall, proxy)

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.

Link to comment
Share on other sites

@Daniel Simoes fiz os testes via browser, funcionou certinho (https://nfce.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx) - instalei o certificado, acessei a URL e os métodos foram exibidos.

Removi o ACBrMonitor no Linux, reinstalei, refiz a configuração do certificado do zero, não funciona.

Decidi então fazer um teste com a mesma versão no Windows (03.06.0 via OpenSSL), e funcionou perfeitamente.

Em outro tópico vi um comentário informando que esse erro -2 era do Synaser. Tem alguma forma do debug mostrar mais detalhes sobre o erro?

 

Edited by welkson

WRMedeiros

Focus

Link to comment
Share on other sites

  • Fundadores

SynaSer é apenas para envio a portas Seriais...

O erro é dispara pelas classes de Socket da "Synapse"... pois ela tentou uma conexão HTTPS e recebeu o erro 500...

Eu uso com sucesso a comunicação segura no Linux...

Verifique se as Libs do OpenSSL são encontradas no seu S.O. com o nome esperado nos fontes... (se não o for, crie um Soft Link)

unit ssl_openssl_lib;   
....

{$IFDEF CIL}
const
  {$IFDEF LINUX}
  DLLSSLName = 'libssl.so';
  DLLUtilName = 'libcrypto.so';
  {$ELSE}
  DLLSSLName = 'ssleay32.dll';
  DLLUtilName = 'libeay32.dll';
  {$ENDIF}
{$ELSE}
var
  {$IFNDEF MSWINDOWS}
    {$IFDEF DARWIN}
    DLLSSLName: string = 'libssl.dylib';
    DLLUtilName: string = 'libcrypto.dylib';
    {$ELSE}
     {$IFDEF OS2}
      {$IFDEF OS2GCC}
    DLLSSLName: string = 'kssl.dll';
    DLLUtilName: string = 'kcrypto.dll';
      {$ELSE OS2GCC}
    DLLSSLName: string = 'ssl.dll';
    DLLUtilName: string = 'crypto.dll';
      {$ENDIF OS2GCC}
     {$ELSE OS2}
    DLLSSLName: string = 'libssl.so';
    DLLUtilName: string = 'libcrypto.so';
     {$ENDIF OS2}
    {$ENDIF}
  {$ELSE}
  DLLSSLName: string = 'ssleay32.dll';
  DLLSSLName2: string = 'libssl32.dll';
  DLLUtilName: string = 'libeay32.dll';
  {$ENDIF}
{$ENDIF} 

 

  • Like 1
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.

Link to comment
Share on other sites

  • Solution

@Daniel Simoes problema resolvido ;-)

sudo apt-get install libssl0.9.8:i386

 

No fórum do Synapse tem tópico com problema parecido e um usuário comentou que apartir do OpenSSL 1.0 o mesmo detecta automaticamente a versão do SSL. Sabendo disso, decidi fazer um downgrade para a libssl anterior a 1.0 e está funcionando.

http://forum.lazarus.freepascal.org/index.php?topic=14076.0

Mais pra frente creio que isso pode ter outros problemas, pois SSLv3 já vem sendo desabilitado em muitos servidores por ser inseguro (recomendam o uso do TLS). Mas enfim, obrigado a todos pelas dicas ;-)

  • Like 1

WRMedeiros

Focus

Link to comment
Share on other sites

@Daniel Simoes enquanto é tempo, gostaria de retificar minha resposta anterior.

O downgrade em si não resolve o problema, e sim permissões corretas no libssl.so e libcrypto.so (ou rodar o ACBrMonitor como root como recomendado no site).

Eu estava rodando o ACBrMonitor como usuário comum (e fazendo as permissões nas pastas com chown e chmod). Quando fiz o chmod 777 (apesar de não ser recomendado) em /usr/lib/libssl.so e libcrypto.so o sistema funcionou normalmente (mesmo com a versão default do OpenSSL).

Creio que rodar ACBrMonitor com um usuário "não-root" no futuro vai me trazer outros problemas (permissões para acesso a dispositivos, etc.), então decidi deixar minha aplicação como usuário "não-root", e o ACBrMonitor como root (incluir um nopasswd no /etc/sudoers para rodar o ACBrMonitor sempre como root).

Segue comandos que utilizei:

sudo ln -s /lib/i386-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so
sudo ln -s /lib/i386-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so
chmod 777 /usr/lib/libssl.so
chmod 777 /usr/lib/libcrypto.so

 

 

  • Like 1

WRMedeiros

Focus

Link to comment
Share on other sites

  • Fundadores

Provavelmente esses arquivos estavam sem permissão de leitura, para "users"...  Não é necessária a permissão de escrita para acesso aos mesmos...

  • Like 2
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.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...