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