@@ -1,12 +1,12 @@
Data channel cipher negotiation
-===============================
+-------------------------------
OpenVPN 2.4 and higher have the capability to negotiate the data cipher that
is used to encrypt data packets. This section describes the mechanism in more detail and the
different backwards compatibility mechanism with older server and clients.
OpenVPN 2.5 and later behaviour
---------------------------------
+```````````````````````````````
When both client and server are at least running OpenVPN 2.5, that the order of
the ciphers of the server's ``--data-ciphers`` is used to pick the the data cipher.
That means that the first cipher in that list that is also in the client's
@@ -25,7 +25,7 @@
``--cipher`` option to this list.
OpenVPN 2.4 clients
--------------------
+```````````````````
The negotiation support in OpenVPN 2.4 was the first iteration of the implementation
and still had some quirks. Its main goal was "upgrade to AES-256-GCM when possible".
An OpenVPN 2.4 client that is built against a crypto library that supports AES in GCM
@@ -40,7 +40,7 @@
options to avoid this behaviour.
OpenVPN 3 clients
------------------
+`````````````````
Clients based on the OpenVPN 3.x library (https://github.com/openvpn/openvpn3/)
do not have a configurable ``--ncp-ciphers`` or ``--data-ciphers`` option. Newer
versions by default disable legacy AES-CBC, BF-CBC, and DES-CBC ciphers.
@@ -52,7 +52,7 @@
OpenVPN 2.3 and older clients (and clients with ``--ncp-disable``)
-------------------------------------------------------------------
+``````````````````````````````````````````````````````````````````
When a client without cipher negotiation support connects to a server the
cipher specified with the ``--cipher`` option in the client configuration
must be included in the ``--data-ciphers`` option of the server to allow
@@ -65,7 +65,7 @@
cipher used by the client is necessary.
OpenVPN 2.4 server
-------------------
+``````````````````
When a client indicates support for `AES-128-GCM` and `AES-256-GCM`
(with ``IV_NCP=2``) an OpenVPN 2.4 server will send the first
cipher of the ``--ncp-ciphers`` to the OpenVPN client regardless of what
@@ -76,7 +76,7 @@
those ciphers are present.
OpenVPN 2.3 and older servers (and servers with ``--ncp-disable``)
-------------------------------------------------------------------
+``````````````````````````````````````````````````````````````````
The cipher used by the server must be included in ``--data-ciphers`` to
allow the client connecting to a server without cipher negotiation
support.
@@ -89,7 +89,7 @@
cipher used by the server is necessary.
Blowfish in CBC mode (BF-CBC) deprecation
-------------------------------------------
+`````````````````````````````````````````
The ``--cipher`` option defaulted to `BF-CBC` in OpenVPN 2.4 and older
version. The default was never changed to ensure backwards compatibility.
In OpenVPN 2.5 this behaviour has now been changed so that if the ``--cipher``
@@ -1,8 +1,8 @@
Encryption Options
-==================
+------------------
SSL Library information
------------------------
+```````````````````````
--show-ciphers
(Standalone) Show all cipher algorithms to use with the ``--cipher``
@@ -32,7 +32,7 @@
``--ecdh-curve`` and ``tls-groups`` options.
Generating key material
------------------------
+```````````````````````
--genkey args
(Standalone) Generate a key to be used of the type keytype. if keyfile
@@ -1,5 +1,5 @@
PKCS#11 / SmartCard options
----------------------------
+```````````````````````````
--pkcs11-cert-private args
Set if access to certificate object should be performed after login.
@@ -1,5 +1,5 @@
Data Channel Renegotiation
---------------------------
+``````````````````````````
When running OpenVPN in client/server mode, the data channel will use a
separate ephemeral encryption key which is rotated at regular intervals.
@@ -1,5 +1,5 @@
TLS Mode Options
-----------------
+````````````````
TLS mode is the most powerful crypto mode of OpenVPN in both security
and flexibility. TLS mode works by establishing control and data
Attention is currently required from: plaisthos. Hello plaisthos, I'd like you to do a code review. Please visit http://gerrit.openvpn.net/c/openvpn/+/527?usp=email to review the following change. Change subject: documentation: make section levels consistent ...................................................................... documentation: make section levels consistent Previously the sections "Encryption Options" and "Data channel cipher negotiation" were on the same level as "OPTIONS", which makes no sense. Instead move them and their subsections one level down. Use ` since that was already in use in section "Virtual Routing and Forwarding". Change-Id: Ib5a7f9a978bda5ad58830e43580232660401f66d Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com> --- M doc/man-sections/cipher-negotiation.rst M doc/man-sections/encryption-options.rst M doc/man-sections/pkcs11-options.rst M doc/man-sections/renegotiation.rst M doc/man-sections/tls-options.rst 5 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/27/527/1