Hi Chris,
the source code that is giving me the problem is the following:
result = CyaSSL_connect(AmazonSqsService.sslInfo.ssl);
if (result != SSL_SUCCESS) {
error = CyaSSL_get_error(AmazonSqsService.sslInfo.ssl, 0);
                if( (error == SSL_ERROR_WANT_READ) || (error == SSL_ERROR_WANT_WRITE) ) {
                    return; // Client would read or write block, this is fine
                } else {
                    SYS_CONSOLE_MESSAGE((const char*)"error : CyaSSL_connect");
                    break;
                }
            }
I am executing this code continuosly until a timeout of 60 secondes expires.
I thing that the "CyaSSL_connect" function has to take into account all the things that you commented.
And the same process goes well with other https servers ( google.com for example ).
So, what is the thing that i missing ?