1=pod 2 3=head1 NAME 4 5SSL_set_connect_state, SSL_get_accept_state - prepare SSL object to work in client or server mode 6 7=head1 SYNOPSIS 8 9 #include <openssl/ssl.h> 10 11 void SSL_set_connect_state(SSL *ssl); 12 13 void SSL_set_accept_state(SSL *ssl); 14 15=head1 DESCRIPTION 16
| 1=pod 2 3=head1 NAME 4 5SSL_set_connect_state, SSL_get_accept_state - prepare SSL object to work in client or server mode 6 7=head1 SYNOPSIS 8 9 #include <openssl/ssl.h> 10 11 void SSL_set_connect_state(SSL *ssl); 12 13 void SSL_set_accept_state(SSL *ssl); 14 15=head1 DESCRIPTION 16
|
17SSL_set_connect_state() B to work in client mode.
| 17SSL_set_connect_state() sets B<ssl> to work in client mode.
|
18
| 18
|
19SSL_set_accept_state() B to work in server mode.
| 19SSL_set_accept_state() sets B<ssl> to work in server mode.
|
20 21=head1 NOTES 22 23When the SSL_CTX object was created with L<SSL_CTX_new(3)|SSL_CTX_new(3)>, 24it was either assigned a dedicated client method, a dedicated server 25method, or a generic method, that can be used for both client and 26server connections. (The method might have been changed with 27L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> or 28SSL_set_ssl_method().) 29
| 20 21=head1 NOTES 22 23When the SSL_CTX object was created with L<SSL_CTX_new(3)|SSL_CTX_new(3)>, 24it was either assigned a dedicated client method, a dedicated server 25method, or a generic method, that can be used for both client and 26server connections. (The method might have been changed with 27L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> or 28SSL_set_ssl_method().) 29
|
30In order to successfully accomplish the handshake, the SSL routines need 31to know whether they should act in server or client mode. If the generic 32method was used, this is not clear from the method itself and must be set 33with either SSL_set_connect_state() or SSL_set_accept_state(). If these 34routines are not called, the default value set when L<SSL_new(3)|SSL_new(3)> 35is called is server mode.
| 30When beginning a new handshake, the SSL engine must know whether it must 31call the connect (client) or accept (server) routines. Even though it may 32be clear from the method chosen, whether client or server mode was 33requested, the handshake routines must be explicitly set.
|
36
| 34
|
| 35When using the L<SSL_connect(3)|SSL_connect(3)> or 36L<SSL_accept(3)|SSL_accept(3)> routines, the correct handshake 37routines are automatically set. When performing a transparent negotiation 38using L<SSL_write(3)|SSL_write(3)> or L<SSL_read(3)|SSL_read(3)>, the 39handshake routines must be explicitly set in advance using either 40SSL_set_connect_state() or SSL_set_accept_state(). 41
|
37=head1 RETURN VALUES 38 39SSL_set_connect_state() and SSL_set_accept_state() do not return diagnostic 40information. 41 42=head1 SEE ALSO 43 44L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_CTX_new(3)|SSL_CTX_new(3)>,
| 42=head1 RETURN VALUES 43 44SSL_set_connect_state() and SSL_set_accept_state() do not return diagnostic 45information. 46 47=head1 SEE ALSO 48 49L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_CTX_new(3)|SSL_CTX_new(3)>,
|
| 50L<SSL_connect(3)|SSL_connect(3)>, L<SSL_accept(3)|SSL_accept(3)>, 51L<SSL_write(3)|SSL_write(3)>, L<SSL_read(3)|SSL_read(3)>,
|
45L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> 46 47=cut
| 52L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> 53 54=cut
|