Fórum Activex com Delphi - Suporte SSL #348925

13/11/2007

0

Caros,

Estou precisando criar um ActiveX (sem interface gráfica) que rodará na estação de trabalho para executar algumas operações. São elas:
- Abrir e salvar documentos Words;
- Acesso a algum de registro do Windows (somente leitura);
- Finalizar algum processo rodando no Windows;
- Requisições GET e POST do protocolo HTTP e HTTPS (com certificado no lado do servidor) a fim de enviar requisições para buscar e enviar arquivos;
- Copiar e Deletar arquivos na máquina do usuário (Detectar caso o usuário não tenha permissão)

Atualmente eu já tenho esse ActiveX (arquivo *.cab contendo um arquivo *.ocx) feito em Delphi 5 com todas as funcionalidades, com exceção do suporte SSL (HTTPS - Conexão Segura).

Porém o ActiveX deverá passar a suportar conexões SSL. Houve uma tentativa frustrada de utilizar componentes do Delphi que suportam SSL (Indy e Synapse) a fim de adaptá-lo em conexões SSL. Como não consegui, estou pensando em mudar o paradgma. Migrar o ActiveX para outra plataforma (VB.NET / Java / C#). O esforço será grande, mas preciso que o ActiveX suporte SSL.

Funcionamento do ActiveX:
Um ActiveX assinado é instalado automaticamente na máquina do usuário. E através de JavaScript eu chamo algum métodos do ActiveX. Como no código abaixo:
<OBJECT name=meuActiveX classid=´clsid:06239C09-4442
-442A-9803-68FCF24A87EF´ codebase=http://minhaaplicao/meuActiveX.cab ></OBJECT>
returno = meuActiveX .chamaMetodo1();
.. manipula o retorno;

A dúvida que levanto nesse grupo é a seguinte.
Utilizando o componente Indy e Synapse que utilizam da biblioteca OpenSSL( precisa de 2 dlls, :-( ) eu me deparei com o mesmo problema. Ao fazer uma requisição a uma endereço HTTPS, dá a msg de erro ´HTTP/1.1 404 Not Found´.
Já pesquisei bastante sobre o erro, e não consegui encontrar nenhuma solução gratuita.

Eu comecei a suspeitar que o servidor estava bloqueando meu ActiveX de acessar o endereço, porém um colega fez um aplicativo desktop na linguagem c# (nunca usei) chamando o mesmo endereço e funcionou perfeitamente sem a necessidade de certificado no lado do cliente, creio que o próprio c já deva ter baixado o certificado (chave pública) do servidor.
O que eu achei esquisito nos meus teste, é que se eu for no brownser e digitar o endereço, meu ActiveX passa a conseguir temporariamente acessar o endereço, como se algo estivesse no cache. Depois de um tempo, o ActiveX não consegue mais acessar o endereço. :-(

Alguém conhece algum outro componente que possa me ajudar ? De preferência que não seja uma DLL e que eu possa linkar no projeto do ActiveX.

Conto com a colaboração de todos nessa discussão.

Atenciosamente e Obrigado,
Leonardo Peruch


Zorro_br

Zorro_br

Responder

Posts

15/11/2007

Zorro_br

Galera,

Eu fiz utilizando o componente ALWininetHttpClient _Alcinoe

Porém surgiu outra dúvida:
Gostaria que o ActiveX utilizasse a mesma seção do brownser para efetuar requisições HTTP. Estou usando a dll nativa do internet explore (wininet.dll - classe wininet do delphi) para realizar os get e post.
Mas ai ele cria outra seção, eu gostaria de aproveitar a mesma seção do brownser porque ela é uma seção que já foi autenticada pelo usuário (credenciais).

Att;
Leonardo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar