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