mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 05:58:57 +00:00
OpenSSL: Update KTLS documentation
KTLS support has been changed to be off by default, and configuration is via a single "option" rather two "modes". Documentation is updated accordingly. Reviewed by: jkim Obtained from: OpenSSL (6878f4300213cfd7d4f01e26a8b97f70344da100) MFC after: 5 days Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31441
This commit is contained in:
parent
62ca9fc1ad
commit
a208223130
@ -495,6 +495,10 @@ specification. Some applications may be able to mitigate the replay risks in
|
||||
other ways and in such cases the built-in OpenSSL functionality is not required.
|
||||
Disabling anti-replay is equivalent to setting B<SSL_OP_NO_ANTI_REPLAY>.
|
||||
|
||||
B<KTLS>: Enables kernel TLS if support has been compiled in, and it is supported
|
||||
by the negotiated ciphersuites and extensions. Equivalent to
|
||||
B<SSL_OP_ENABLE_KTLS>.
|
||||
|
||||
=item B<VerifyMode>
|
||||
|
||||
The B<value> argument is a comma separated list of flags to set.
|
||||
|
@ -114,22 +114,6 @@ enables this behaviour to allow interoperability with such broken
|
||||
implementations. Please note that setting this option breaks interoperability
|
||||
with correct implementations. This option only applies to DTLS over SCTP.
|
||||
|
||||
=item SSL_MODE_NO_KTLS_TX
|
||||
|
||||
Disable the use of the kernel TLS egress data-path.
|
||||
By default kernel TLS is enabled if it is supported by the negotiated ciphersuites
|
||||
and extensions and OpenSSL has been compiled with support for it.
|
||||
The kernel TLS data-path implements the record layer,
|
||||
and the crypto algorithm. The kernel will utilize the best hardware
|
||||
available for crypto. Using the kernel data-path should reduce the memory
|
||||
footprint of OpenSSL because no buffering is required. Also, the throughput
|
||||
should improve because data copy is avoided when user data is encrypted into
|
||||
kernel memory instead of the usual encrypt than copy to kernel.
|
||||
|
||||
Kernel TLS might not support all the features of OpenSSL. For instance,
|
||||
renegotiation, and setting the maximum fragment size is not possible as of
|
||||
Linux 4.20.
|
||||
|
||||
=back
|
||||
|
||||
All modes are off by default except for SSL_MODE_AUTO_RETRY which is on by
|
||||
@ -150,7 +134,6 @@ L<SSL_write(3)>, L<SSL_get_error(3)>
|
||||
=head1 HISTORY
|
||||
|
||||
SSL_MODE_ASYNC was added in OpenSSL 1.1.0.
|
||||
SSL_MODE_NO_KTLS_TX was first added to OpenSSL 3.0.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
|
@ -237,6 +237,29 @@ functionality is not required. Those applications can turn this feature off by
|
||||
setting this option. This is a server-side opton only. It is ignored by
|
||||
clients.
|
||||
|
||||
=item SSL_OP_ENABLE_KTLS
|
||||
|
||||
Enable the use of kernel TLS. In order to benefit from kernel TLS OpenSSL must
|
||||
have been compiled with support for it, and it must be supported by the
|
||||
negotiated ciphersuites and extensions. The specific ciphersuites and extensions
|
||||
that are supported may vary by platform and kernel version.
|
||||
|
||||
The kernel TLS data-path implements the record layer, and the encryption
|
||||
algorithm. The kernel will utilize the best hardware
|
||||
available for encryption. Using the kernel data-path should reduce the memory
|
||||
footprint of OpenSSL because no buffering is required. Also, the throughput
|
||||
should improve because data copy is avoided when user data is encrypted into
|
||||
kernel memory instead of the usual encrypt then copy to kernel.
|
||||
|
||||
Kernel TLS might not support all the features of OpenSSL. For instance,
|
||||
renegotiation, and setting the maximum fragment size is not possible as of
|
||||
Linux 4.20.
|
||||
|
||||
Note that with kernel TLS enabled some cryptographic operations are performed
|
||||
by the kernel directly and not via any available OpenSSL Providers. This might
|
||||
be undesirable if, for example, the application requires all cryptographic
|
||||
operations to be performed by the FIPS provider.
|
||||
|
||||
=back
|
||||
|
||||
The following options no longer have any effect but their identifiers are
|
||||
|
Loading…
Reference in New Issue
Block a user