Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Artur Dietrich

Problema com Delphi 7 TidHttp e SSL

Recommended Posts

Olá! Tenho uma aplicação já funcional em Delphi7 que tem um componente TidHttp e TidSSLIOHandlerSocket que faz download
e Upload de Arquivos de um servidor específico. Para fazer o download e um arquivo por exemplo, chama-se uma URL que aponta
para um servidor que roda Apache Tomcat 7, que possui um Servlet JAVA de download e outro de upload. Para que as rotinas
funcionem em SSL foi necessário copiar as bibliotecas libeay32.dll e ssleay32.dll. Estas bibliotecas SSL são bibliotecas
openssl versão 0.9.6m (bem antigas por sinal) customizadas para o Indy Project, que vem com o Delphi 7.

Abaixo a rotina de Download:

function download_file(dir_relativo,filename,destfilename : string; var msgerr : string) : boolean;
var
buffer : tfilestream;
code : integer;
begin
download_file := false;
Buffer := TFileStream.Create(destfilename, fmCreate or fmShareDenyWrite);
msgerr:='';
try
form1.IdHTTP1.Request.BasicAuthentication := true;
form1.IdHTTP1.Request.UserName := 'comunic';
form1.IdHTTP1.Request.Password := ss2;
try
form1.idhttp1.get(url_base+'downloadfile?filedir='+dir_relativo+'&filename='+filename,buffer);
finally
form1.idhttp1.Disconnect;
download_file:=true;
buffer.free;
end;
except
on E: EIdHTTPProtocolException do begin
code := form1.idhttp1.ResponseCode;
msgerr:='Erro: http response code : ' + inttostr(code);
logweb(param_entrada2_str+'.log','Erro : ' + msgerr);
download_file:=false;
end;
end;

end;


O Servidor do qual os arquivos são baixados roda no Windows Server 2003 Standard e Apache Tomcat 7.
Funciona perfeitamente com e sem SSL. (http:...:8080//... e https://...:8443/...)


AGORA O PROBLEMA:

Instalei um Servidor Apache Tomcat 7, com as "mesmas configurações em vários Linux" : Red Hat, Oracle Linux, CentOS,etc,
e, quando utilizo a URL com SSL para baixar os arquivos recebo a mensagem da aplicação Delphi:

Project xxxx.exe raised exception class EIdOSSLConnectError with message 'Error connecting with SSL'...

Algumas observações importantes:

- Chamando a URL de download de qualquer browser ou outro programa que não seja o Delphi funciona...
- Os servidores Linux estão com a seguinte versão do openssl : 1.0.1e-42
- O servidor atual Windows 2003 que funciona, não tem SSL explicitamente instalado, deve usar alguma biblioteca SSL do TOMCAT
- As bibliotecas SSL do lado dos clients são a versão 0.9.6m do Indy Project
- Sem o SSL funciona normamente no LINUX também


Gostaria de sugestões de como posso resolver este problema para fazer funcionar o download com SSL no Linux.
Ex: Outros componentes, Tenho que mudar de Delphi ?, etc

Desde já gradeço.
Artur

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

Será que pode ter relação com as permissões do sistema?

Quando você se refere a qualquer outro programa que não seja o delphi, você se refere a quem exatamente? Lazarus?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.