📄 ssl_ctx_new.pod
字号:
=pod=head1 NAMESSL_CTX_new - create a new SSL_CTX object as framework for TLS/SSL enabled functions=head1 SYNOPSIS #include <openssl/ssl.h> SSL_CTX *SSL_CTX_new(SSL_METHOD *method);=head1 DESCRIPTIONSSL_CTX_new() creates a new B<SSL_CTX> object as framework to establishTLS/SSL enabled connections.=head1 NOTESThe SSL_CTX object uses B<method> as connection method. The methods existin a generic type (for client and server use), a server only type, and aclient only type. B<method> can be of the following types:=over 4=item SSLv2_method(void), SSLv2_server_method(void), SSLv2_client_method(void)A TLS/SSL connection established with these methods will only understandthe SSLv2 protocol. A client will send out SSLv2 client hello messagesand will also indicate that it only understand SSLv2. A server will onlyunderstand SSLv2 client hello messages.=item SSLv3_method(void), SSLv3_server_method(void), SSLv3_client_method(void)A TLS/SSL connection established with these methods will only understand theSSLv3 protocol. A client will send out SSLv3 client hello messagesand will indicate that it only understands SSLv3. A server will only understandSSLv3 client hello messages. This especially means, that it willnot understand SSLv2 client hello messages which are widely used forcompatibility reasons, see SSLv23_*_method().=item TLSv1_method(void), TLSv1_server_method(void), TLSv1_client_method(void)A TLS/SSL connection established with these methods will only understand theTLSv1 protocol. A client will send out TLSv1 client hello messagesand will indicate that it only understands TLSv1. A server will only understandTLSv1 client hello messages. This especially means, that it willnot understand SSLv2 client hello messages which are widely used forcompatibility reasons, see SSLv23_*_method(). It will also not understandSSLv3 client hello messages.=item SSLv23_method(void), SSLv23_server_method(void), SSLv23_client_method(void)A TLS/SSL connection established with these methods will understand the SSLv2,SSLv3, and TLSv1 protocol. A client will send out SSLv2 client hello messagesand will indicate that it also understands SSLv3 and TLSv1. A server willunderstand SSLv2, SSLv3, and TLSv1 client hello messages. This is the bestchoice when compatibility is a concern.=backThe list of protocols available can later be limited using the SSL_OP_NO_SSLv2,SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1 options of the B<SSL_CTX_set_options()> orB<SSL_set_options()> functions. Using these options it is possible to choosee.g. SSLv23_server_method() and be able to negotiate with all possibleclients, but to only allow newer protocols like SSLv3 or TLSv1.SSL_CTX_new() initializes the list of ciphers, the session cache setting,the callbacks, the keys and certificates, and the options to its defaultvalues.=head1 RETURN VALUESThe following return values can occur:=over 4=item NULLThe creation of a new SSL_CTX object failed. Check the error stack tofind out the reason.=item Pointer to an SSL_CTX objectThe return value points to an allocated SSL_CTX object.=back=head1 SEE ALSOL<SSL_CTX_free(3)|SSL_CTX_free(3)>, L<SSL_accept(3)|SSL_accept(3)>,L<ssl(3)|ssl(3)>, L<SSL_set_connect_state(3)|SSL_set_connect_state(3)>=cut
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -