title: Delphi 6 and Indy SSL connection not working
body: <p>I need to consume a Web Service via SSL. In order to accomplish that I have built a web client in Delphi 6 that uses Indy to read the client certificates and write the soap request via https. The compilated version of the code is a DLL that runs in IIS 5.0. After tested the code in my local machine it works fine (I'm behind a proxy). But after the code is deployed to prod servers (not proxy) the SSL connection fails saying "Error connecting with SSL".</p>
  
  <p>Here is my code:</p>
  
  <pre><code>var
    Response: TStringStream;
    IdHttp: TIdHTTP;
    IdCnxSLL: TIdConnectionInterceptOpenSSL;
    XmlSoapDoc: IXMLDocument;
  begin
    Response := TStringStream.Create('');
    IdHttp := TIdHTTP.Create(nil);
    IdCnxSLL := TIdConnectionInterceptOpenSSL.Create(nil);
    XmlSoapDoc := TXMLDocument.Create(nil);
    with IdCnxSLL do
     begin
      IdCnxSLL.SSLOptions.Method := sslvSSLv23;
      IdCnxSLL.SSLOptions.RootCertFile := IniHttpConnectionData.Values['RootCertFile'];
      IdCnxSLL.SSLOptions.CertFile := IniHttpConnectionData.Values['CertFile'];
      IdCnxSLL.SSLOptions.KeyFile := IniHttpConnectionData.Values['KeyFile'];
      IdCnxSLL.OnGetPassword :=  IdConInterceptOpenSSLGetPassword;
    end;
    with IdHttp do
    begin
      if bUseProxy then
      begin
         Request.ProxyServer := IniHttpConnectionData.Values['ProxyServer'];
         Request.ProxyPort := StrToIntDef(IniHttpConnectionData.Values['ProxyPort'], 0);
      end
      else
      begin
         Host := IniHttpConnectionData.Values['HTTPHost'];
         Port := StrToIntDef(IniHttpConnectionData.Values['HTTPPort'], 443);
      end;
      Request.ContentType := 'text/xml';
      Intercept := IdCnxSLL;
      InterceptEnabled := True;
    end;
  
    try
      IdHttp.Post(ServiceURL, SoapEnv, Response);
    except
      on E:EIdOSSLConnectError do
         LogError('SSL Connect Error: ' + E.Message);
      on E:Exception do
        LogError('Error' + E.ClassName + ' - ' + E.Message);
    end;
  </code></pre>
  
  <p>I also try this code compiling into an exe program and it works. Is there something else I need to configure/add? </p>
  
  <p>Thanks.</p>