I have problem with SSL components from ICS Overbyte package. I have similar problem like this person here:

http://www.archivum.info/twsocket@elists.org/2007-02/00013/(twsocket)-SSL-ErrCode-3.html

What happens is that everything works on my machine perfectly, but when I copy my application to another machine, I get ErrCode 3 in OnRequestDone() event of http ssl component.

I am unable to find ICS SSL list Arno mentioned, from April 2006, to check for answer about fix. I don't call .Abort() anywhere in code, which would cause this error. Here is how I do the operations:

[code]
procedure TCertificateWindow.btDownloadCert(Sender: TObject);
begin
  sslClient.URL := ebAddCert.Text;
  If Pos('https://', LowerCase(sslClient.URL)) <> 1 Then
    sslClient.URL := 'https://' + sslClient.URL;
  sslClient.GetAsync;
end;

procedure TCertificateWindow.sslClientSslHandshakeDone(Sender: TObject; ErrCode: Word; PeerCert: TX509Base; var Disconnect: Boolean);
begin
  Disconnect := FALSE;
end;

procedure TCertificateWindow.sslClientSslVerifyPeer(Sender: TObject; var Ok: Integer; Cert: TX509Base);
begin
  Certificates.AddCertificate(Cert.GetRawText);

  Ok := 1;
end;
[/code]

What happens after .GetAsync() is that none of these events get called. I debugged further, and figured out that OnSocketError(Sender: TObject); event gets called, but when I check values of sslClient.CtrlSocket.LastError and sslClient.CtrlSocket.LastSslError inside that event, they are zero. I have also tried to call non-async .Get(), but I get same error.

However, when I check CtrlSocket.LastError value in OnRequestDone() event, it is 10035 (WSAEWOULDBLOCK).

I use latest ICS package and tested on machine without firewall and AV. Does anyone know what the problem could be ?

Thanks in advance, Marko.
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to