Hi all,

I am working on a C++ app to send a single HTTPS request (HTTP 1.1), wait for/receive 
the response and to close the connection afterwards. All application data, e.g. the 
response, is received correctly/completely. But after having read the whole data, a 
select() on the socket tells me that there are still 29 bytes on the socket. Calling 
SSL_read() returns 0 and doesn't dequeue the additional data, only with recv() I can 
read the data.

This doesn't occur when using SSLv2 instead of SSLv3 (via SSLv2_method instead of 
SSLv23_method).

Afterwards this problem occured, I receive OpenSSL errors in SSL_read() and 
SSL_shutdown() like the following when sending a new HTTPS request (on a newly created 
socket) :

error:140D2093:SSL routines:TLS1_ENC:decryption failed
error:140940F6:SSL routines:SSL3_READ_BYTES:unknown alert type
error:140D2081:SSL routines:TLS1_ENC:block cipher pad is wrong

These errors do no longer occur when using OpenSSL 0.9.7a (at least on Windows). When 
using SSLv2, they do not occur either. When using 0.9.6 and SSLv3, the errors occur 
(on both Windows and Linux).

What am I doing wrong here ? Does anybody have a clue what these 29 bytes are meant 
for, and if they are related to the problems I encounter afterwards ?

Thanks a lot for any hint you can give me.

Regards, Christoph
______________________________________________________________________________
Viren? Wir wissen nicht was Ihr Arzt empfiehlt. Wir empfehlen den
Virencheck fur Ihre E-Mail-Anhange! http://freemail.web.de/features/?mc=021159

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to