Blame doc/man1/sess_id.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
openssl-sess_id,
Packit c4476c
sess_id - SSL/TLS session handling utility
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
B<openssl> B<sess_id>
Packit c4476c
[B<-help>]
Packit c4476c
[B<-inform PEM|DER>]
Packit c4476c
[B<-outform PEM|DER|NSS>]
Packit c4476c
[B<-in filename>]
Packit c4476c
[B<-out filename>]
Packit c4476c
[B<-text>]
Packit c4476c
[B<-noout>]
Packit c4476c
[B<-context ID>]
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
The B<sess_id> process the encoded version of the SSL session structure
Packit c4476c
and optionally prints out SSL session details (for example the SSL session
Packit c4476c
master key) in human readable format. Since this is a diagnostic tool that
Packit c4476c
needs some knowledge of the SSL protocol to use properly, most users will
Packit c4476c
not need to use it.
Packit c4476c
Packit c4476c
=head1 OPTIONS
Packit c4476c
Packit c4476c
=over 4
Packit c4476c
Packit c4476c
=item B<-help>
Packit c4476c
Packit c4476c
Print out a usage message.
Packit c4476c
Packit c4476c
=item B<-inform DER|PEM>
Packit c4476c
Packit c4476c
This specifies the input format. The B<DER> option uses an ASN1 DER encoded
Packit c4476c
format containing session details. The precise format can vary from one version
Packit c4476c
to the next.  The B<PEM> form is the default format: it consists of the B<DER>
Packit c4476c
format base64 encoded with additional header and footer lines.
Packit c4476c
Packit c4476c
=item B<-outform DER|PEM|NSS>
Packit c4476c
Packit c4476c
This specifies the output format. The B<PEM> and B<DER> options have the same meaning
Packit c4476c
and default as the B<-inform> option. The B<NSS> option outputs the session id and
Packit c4476c
the master key in NSS keylog format.
Packit c4476c
Packit c4476c
=item B<-in filename>
Packit c4476c
Packit c4476c
This specifies the input filename to read session information from or standard
Packit c4476c
input by default.
Packit c4476c
Packit c4476c
=item B<-out filename>
Packit c4476c
Packit c4476c
This specifies the output filename to write session information to or standard
Packit c4476c
output if this option is not specified.
Packit c4476c
Packit c4476c
=item B<-text>
Packit c4476c
Packit c4476c
Prints out the various public or private key components in
Packit c4476c
plain text in addition to the encoded version.
Packit c4476c
Packit c4476c
=item B<-cert>
Packit c4476c
Packit c4476c
If a certificate is present in the session it will be output using this option,
Packit c4476c
if the B<-text> option is also present then it will be printed out in text form.
Packit c4476c
Packit c4476c
=item B<-noout>
Packit c4476c
Packit c4476c
This option prevents output of the encoded version of the session.
Packit c4476c
Packit c4476c
=item B<-context ID>
Packit c4476c
Packit c4476c
This option can set the session id so the output session information uses the
Packit c4476c
supplied ID. The ID can be any string of characters. This option won't normally
Packit c4476c
be used.
Packit c4476c
Packit c4476c
=back
Packit c4476c
Packit c4476c
=head1 OUTPUT
Packit c4476c
Packit c4476c
Typical output:
Packit c4476c
Packit c4476c
 SSL-Session:
Packit c4476c
     Protocol  : TLSv1
Packit c4476c
     Cipher    : 0016
Packit c4476c
     Session-ID: 871E62626C554CE95488823752CBD5F3673A3EF3DCE9C67BD916C809914B40ED
Packit c4476c
     Session-ID-ctx: 01000000
Packit c4476c
     Master-Key: A7CEFC571974BE02CAC305269DC59F76EA9F0B180CB6642697A68251F2D2BB57E51DBBB4C7885573192AE9AEE220FACD
Packit c4476c
     Key-Arg   : None
Packit c4476c
     Start Time: 948459261
Packit c4476c
     Timeout   : 300 (sec)
Packit c4476c
     Verify return code 0 (ok)
Packit c4476c
Packit c4476c
These are described below in more detail.
Packit c4476c
Packit c4476c
=over 4
Packit c4476c
Packit c4476c
=item B<Protocol>
Packit c4476c
Packit c4476c
This is the protocol in use TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 or SSLv3.
Packit c4476c
Packit c4476c
=item B<Cipher>
Packit c4476c
Packit c4476c
The cipher used this is the actual raw SSL or TLS cipher code, see the SSL
Packit c4476c
or TLS specifications for more information.
Packit c4476c
Packit c4476c
=item B<Session-ID>
Packit c4476c
Packit c4476c
The SSL session ID in hex format.
Packit c4476c
Packit c4476c
=item B<Session-ID-ctx>
Packit c4476c
Packit c4476c
The session ID context in hex format.
Packit c4476c
Packit c4476c
=item B<Master-Key>
Packit c4476c
Packit c4476c
This is the SSL session master key.
Packit c4476c
Packit c4476c
=item B<Start Time>
Packit c4476c
Packit c4476c
This is the session start time represented as an integer in standard
Packit c4476c
Unix format.
Packit c4476c
Packit c4476c
=item B<Timeout>
Packit c4476c
Packit c4476c
The timeout in seconds.
Packit c4476c
Packit c4476c
=item B<Verify return code>
Packit c4476c
Packit c4476c
This is the return code when an SSL client certificate is verified.
Packit c4476c
Packit c4476c
=back
Packit c4476c
Packit c4476c
=head1 NOTES
Packit c4476c
Packit c4476c
The PEM encoded session format uses the header and footer lines:
Packit c4476c
Packit c4476c
 -----BEGIN SSL SESSION PARAMETERS-----
Packit c4476c
 -----END SSL SESSION PARAMETERS-----
Packit c4476c
Packit c4476c
Since the SSL session output contains the master key it is
Packit c4476c
possible to read the contents of an encrypted session using this
Packit c4476c
information. Therefore appropriate security precautions should be taken if
Packit c4476c
the information is being output by a "real" application. This is however
Packit c4476c
strongly discouraged and should only be used for debugging purposes.
Packit c4476c
Packit c4476c
=head1 BUGS
Packit c4476c
Packit c4476c
The cipher and start time should be printed out in human readable form.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<ciphers(1)>, L<s_server(1)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut