summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-02-18 12:41:33 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-02-18 12:41:33 +0000
commit69582a592eb7cbd91af87e03b2be67e82fe0a1eb (patch)
treee689ae39bfbcd5cbf197f9ac0808cc0c0465d34c /doc
parent7512141162bd476e8fdfbf1e7db188fb947ee482 (diff)
clarify documentation
Diffstat (limited to 'doc')
-rw-r--r--doc/ssl/SSL_CTX_set_options.pod38
1 files changed, 25 insertions, 13 deletions
diff --git a/doc/ssl/SSL_CTX_set_options.pod b/doc/ssl/SSL_CTX_set_options.pod
index 1abda2898e..310db84b31 100644
--- a/doc/ssl/SSL_CTX_set_options.pod
+++ b/doc/ssl/SSL_CTX_set_options.pod
@@ -224,10 +224,16 @@ of RFC4507bis tickets for stateless session resumption.
If this option is set this functionality is disabled and tickets will
not be used by clients or servers.
-=item SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION, SSL_OP_LEGACY_SERVER_CONNECT
+=item SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
-See the B<SECURE RENEGOTIATION> section for a discussion of the purpose of
-these options.
+Allow legacy insecure renegotiation between OpenSSL and unpatched clients or
+servers. See the B<SECURE RENEGOTIATION> section for more details.
+
+=item SSL_OP_LEGACY_SERVER_CONNECT
+
+Allow legacy insecure renegotiation between OpenSSL and unpatched servers
+B<only>: this option is currently set by default. See the
+B<SECURE RENEGOTIATION> section for more details.
=back
@@ -275,15 +281,18 @@ was refused.
=head2 Patched OpenSSL client and unpatched server.
-If the option B<SSL_OP_LEGACY_SERVER_CONNECT> is set then initial connections
+If the option B<SSL_OP_LEGACY_SERVER_CONNECT> or
+B<SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION> is set then initial connections
and renegotiation between patched OpenSSL clients and unpatched servers
-succeeds.
+succeeds. If neither option is set then initial connections to unpatched
+servers will fail.
-This option is currently set by default even though it has security
-implications: otherwise it would be impossible to connect to unpatched servers
-(i.e. all of them initially) and this is clearly not acceptable. Renegotiation
-is permitted because this does not add any additional security issues: during
-an attack clients do not see any renegotiations anyway.
+The option B<SSL_OP_LEGACY_SERVER_CONNECT> is currently set by default even
+though it has security implications: otherwise it would be impossible to
+connect to unpatched servers (i.e. all of them initially) and this is clearly
+not acceptable. Renegotiation is permitted because this does not add any
+additional security issues: during an attack clients do not see any
+renegotiations anyway.
As more servers become patched the option B<SSL_OP_LEGACY_SERVER_CONNECT> will
B<not> be set by default in a future version of OpenSSL.
@@ -296,9 +305,12 @@ unpatched servers (and thus avoid any security issues) should always B<clear>
B<SSL_OP_LEGACY_SERVER_CONNECT> using SSL_CTX_clear_options() or
SSL_clear_options().
-As in the previous case if the option
-B<SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION> is set then renegotiation
-B<always> succeeds.
+The difference between the B<SSL_OP_LEGACY_SERVER_CONNECT> and
+B<SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION> options is that
+B<SSL_OP_LEGACY_SERVER_CONNECT> enables initial connections and secure
+renegotiation between OpenSSL clients and unpatched servers B<only>, while
+B<SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION> allows initial connections
+and renegotiation between OpenSSL and unpatched clients or servers.
=head1 RETURN VALUES