Renegotiate the SSL session and request a client certificate (TLSv1.2 and below
only).
=item B
Send some plain text down the underlying TCP connection: this should
cause the client to disconnect due to a protocol violation.
=item B
Print out some session cache status information.
=item B
Send a heartbeat message to the client (DTLS only)
=item B
Send a key update message to the client (TLSv1.3 only)
=item B
Send a key update message to the client and request one back (TLSv1.3 only)
=item B
Send a certificate request to the client (TLSv1.3 only)
=back
=head1 NOTES
B can be used to debug SSL clients. To accept connections from
a web browser the command:
openssl s_server -accept 443 -www
can be used for example.
Although specifying an empty list of CAs when requesting a client certificate
is strictly speaking a protocol violation, some SSL clients interpret this to
mean any CA is acceptable. This is useful for debugging purposes.
The session parameters can printed out using the B program.
=head1 BUGS
Because this program has a lot of options and also because some of the
techniques used are rather old, the C source of B is rather hard to
read and not a model of how things should be done.
A typical SSL server program would be much simpler.
The output of common ciphers is wrong: it just gives the list of ciphers that
OpenSSL recognizes and the client supports.
There should be a way for the B program to print out details of any
unknown cipher suites a client says it supports.
=head1 SEE ALSO
L, L, L, L
L,
L,
L
=head1 HISTORY
The -no_alt_chains option was added in OpenSSL 1.1.0.
The
-allow-no-dhe-kex and -prioritize_chacha options were added in OpenSSL 1.1.1.
=head1 COPYRIGHT
Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
L.
=cut