
#use wml::openssl-macros area=docs page=SSL_CTX_set_ssl_version

<title>Documents, SSL_CTX_set_ssl_version(3)</title>

<h1>SSL_CTX_set_ssl_version(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#NOTES">NOTES</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method - choose a
new TLS/SSL method

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/ssl.h&gt;
</PRE>
<PRE> int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *method);
 int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
 const SSL_METHOD *SSL_get_ssl_method(SSL *ssl);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>SSL_CTX_set_ssl_version()</CODE> sets a new default TLS/SSL <STRONG>method</STRONG> for SSL objects newly created from this <STRONG>ctx</STRONG>. SSL objects already created with
<A HREF="../ssl/SSL_new.html#">SSL_new(3)</A> are not affected, except when
<A HREF="../ssl/SSL_clear.html#">SSL_clear(3)</A> is being called.

</P>
<P>
<CODE>SSL_set_ssl_method()</CODE> sets a new TLS/SSL <STRONG>method</STRONG> for a particular <STRONG>ssl</STRONG>
object. It may be reset, when <CODE>SSL_clear()</CODE> is called.

</P>
<P>
<CODE>SSL_get_ssl_method()</CODE> returns a function pointer to the TLS/SSL
method set in <STRONG>ssl</STRONG>.

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
The available <STRONG>method</STRONG> choices are described in
<A HREF="../ssl/SSL_CTX_new.html#">SSL_CTX_new(3)</A>.

</P>
<P>
When <A HREF="../ssl/SSL_clear.html#">SSL_clear(3)</A> is called and no session is connected to an SSL object, the method of the
SSL object is reset to the method currently set in the corresponding
SSL_CTX object.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
The following return values can occur for
<CODE>SSL_CTX_set_ssl_version()</CODE> and
<CODE>SSL_set_ssl_method():</CODE>

</P>
<DL>
<DT><STRONG><A NAME="item_0">0</A></STRONG><DD>
<P>
The new choice failed, check the error stack to find out the reason.

</P>
<DT><STRONG><A NAME="item_1">1</A></STRONG><DD>
<P>
The operation succeeded.

</P>
</DL>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../ssl/SSL_CTX_new.html#">SSL_CTX_new(3)</A>, <A HREF="../ssl/SSL_new.html#">SSL_new(3)</A>,
<A HREF="../ssl/SSL_clear.html#">SSL_clear(3)</A>, <A HREF="../ssl/ssl.html#">ssl(3)</A>,
<A HREF="../ssl/SSL_set_connect_state.html#">SSL_set_connect_state(3)</A>



</P>
:}


