SSL_SET_FD(3SSL)

NUME
SSL_set_fd, SSL_set_rfd, SSL_set_wfd - conectează obiectul SSL cu un descriptor de fișier

SINOPSIS
 #include <openssl/ssl.h>

 int SSL_set_fd(SSL *ssl, int fd);
 int SSL_set_rfd(SSL *ssl, int fd);
 int SSL_set_wfd(SSL *ssl, int fd);

DESCRIERE
SSL_set_fd() stabilește descriptorul de fișier fd ca facilitate de intrare/ieșire pentru partea TLS/SSL (criptată) a ssl. fd va fi de obicei descriptorul de fișier al soclului unei conexiuni de rețea.

Atunci când se efectuează operația, se creează automat un socket BIO pentru a asigura interfața între ssl și fd. BIO și, prin urmare, motorul SSL moștenesc comportamentul lui fd. Dacă fd este fără blocare, ssl va avea, de asemenea, un comportament fără blocare.

Atunci când sunt utilizate pe un obiect QUIC connection SSL, este creat automat un datagram BIO în loc de un socket BIO. Aceste funcții eșuează dacă sunt apelate pe un obiect QUIC stream SSL.

Dacă a existat deja un BIO conectat la ssl, BIO_free() va fi apelat (atât pentru partea de citire, cât și pentru cea de scriere, dacă sunt diferite).

SSL_set_rfd() și SSL_set_wfd() efectuează acțiunea respectivă, dar numai pentru canalul de citire sau canalul de scriere, care pot fi definite independent.

VALORI RETURNATE
Pot apărea următoarele valori de returnare:

0   Operația a eșuat. Verificați stiva de erori pentru a afla de ce.

1   Operația a reușit.

NOTE
În Windows, un gestionar de soclu este un tip de date pe 64 de biți (UINT_PTR), ceea ce duce la un avertisment al compilatorului (conversie de la „SOCKET” la „int”, posibilă pierdere de date) atunci când se trece gestionarul de soclu la SSL_set_*fd(). Deocamdată, acest avertisment poate fi ignorat în siguranță, deoarece, deși documentația Microsoft susține că limita superioară este INVALID_SOCKET-1 (2^64 - 2), în practică, implementarea actuală socket() returnează un index în tabelul de gestionare al nucleului, a cărui dimensiune este limitată la 2^24.

CONSULTAȚI ȘI
SSL_get_fd(3), SSL_set_bio(3), SSL_connect(3), SSL_accept(3), SSL_shutdown(3), ssl(7) , bio(7)

DREPTURI DE AUTOR
Drepturi de autor 2000-2023 The OpenSSL Project Authors. Toate drepturile rezervate.

Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la <https://www.openssl.org/source/license.html>.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.