Strona główna Kontakt Jogger

Bazylowy Jogg

O makach, życiu i innych pierdołach

Problemy z OpenSSL

Rozwiązawszy już moje potworne problemy z pamięcią (oczywiście byłem debilem :P), zabrałem się za implementację TLS. Ostatniej rzeczy, jaka mi została do zrobienia. Używam biblioteki OpenSSL, ponieważ jest częścią systemu maczkowatego. Natknąłem się jednak na nie lada problemy.

Mało jest pomocniczych przykładów jak tego używać, w szczególności odnośnie TLS. Robię coś takiego:
SSL_library_init();
ssl_context = SSL_CTX_new(TLSv1_client_method());
ssl_ptr = SSL_new(ssl_context);

sock_bio = BIO_new_socket(sock, BIO_NOCLOSE);

if (sock_bio == NULL)
return NO;

SSL_set_bio(ssl_ptr, sock_bio, sock_bio);

if (0 == SSL_connect(ssl_ptr))
return NO;


Niby jak z przykładów. Problem w tym, że wszystko przechodzi gładziutko, ale jakiekolwiek próby użycia SSL_read() lub SSL_write kończy się całkowitą klapą. Rzuca błędem odczytu/zapisu i już.

Co ja do cholery robię źle?

Skomentuj:

Nick
URI
Kod: code