Blame doc/invoke-gnutls-cli-debug.texi

Packit aea12f
@node gnutls-cli-debug Invocation
Packit aea12f
@section Invoking gnutls-cli-debug
Packit aea12f
@pindex gnutls-cli-debug
Packit aea12f
@ignore
Packit aea12f
#  -*- buffer-read-only: t -*- vi: set ro:
Packit aea12f
#
Packit aea12f
# DO NOT EDIT THIS FILE   (invoke-gnutls-cli-debug.texi)
Packit aea12f
#
Packit aea12f
# It has been AutoGen-ed
Packit aea12f
# From the definitions    ../src/cli-debug-args.def
Packit aea12f
# and the template file   agtexi-cmd.tpl
Packit aea12f
@end ignore
Packit aea12f
Packit aea12f
Packit aea12f
TLS debug client. It sets up multiple TLS connections to 
Packit aea12f
a server and queries its capabilities. It was created to assist in debugging 
Packit aea12f
GnuTLS, but it might be useful to extract a TLS server's capabilities.
Packit aea12f
It connects to a TLS server, performs tests and print the server's 
Packit aea12f
capabilities. If called with the `-V' parameter more checks will be performed.
Packit aea12f
Can be used to check for servers with special needs or bugs.
Packit aea12f
Packit aea12f
This section was generated by @strong{AutoGen},
Packit aea12f
using the @code{agtexi-cmd} template and the option descriptions for the @code{gnutls-cli-debug} program.
Packit aea12f
This software is released under the GNU General Public License, version 3 or later.
Packit aea12f
Packit aea12f
Packit aea12f
@anchor{gnutls-cli-debug usage}
Packit aea12f
@subheading gnutls-cli-debug help/usage (@option{--help})
Packit aea12f
@cindex gnutls-cli-debug help
Packit aea12f
Packit aea12f
This is the automatically generated usage text for gnutls-cli-debug.
Packit aea12f
Packit aea12f
The text printed is the same whether selected with the @code{help} option
Packit aea12f
(@option{--help}) or the @code{more-help} option (@option{--more-help}).  @code{more-help} will print
Packit aea12f
the usage text by passing it through a pager program.
Packit aea12f
@code{more-help} is disabled on platforms without a working
Packit aea12f
@code{fork(2)} function.  The @code{PAGER} environment variable is
Packit aea12f
used to select the program, defaulting to @file{more}.  Both will exit
Packit aea12f
with a status code of 0.
Packit aea12f
Packit aea12f
@exampleindent 0
Packit aea12f
@example
Packit aea12f
gnutls-cli-debug - GnuTLS debug client
Packit aea12f
Usage:  gnutls-cli-debug [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... 
Packit aea12f
Packit aea12f
   -d, --debug=num            Enable debugging
Packit aea12f
                                - it must be in the range:
Packit aea12f
                                  0 to 9999
Packit aea12f
   -V, --verbose              More verbose output
Packit aea12f
                                - may appear multiple times
Packit aea12f
   -p, --port=num             The port to connect to
Packit aea12f
                                - it must be in the range:
Packit aea12f
                                  0 to 65536
Packit aea12f
       --app-proto=str        an alias for the 'starttls-proto' option
Packit aea12f
       --starttls-proto=str   The application protocol to be used to obtain the server's certificate
Packit aea12f
(https, ftp, smtp, imap, ldap, xmpp, lmtp, pop3, nntp, sieve, postgres)
Packit aea12f
   -v, --version[=arg]        output version information and exit
Packit aea12f
   -h, --help                 display extended usage information and exit
Packit aea12f
   -!, --more-help            extended usage information passed thru pager
Packit aea12f
Packit aea12f
Options are specified by doubled hyphens and their name or by a single
Packit aea12f
hyphen and the flag character.
Packit aea12f
Operands and options may be intermixed.  They will be reordered.
Packit aea12f
Packit aea12f
TLS debug client.  It sets up multiple TLS connections to a server and
Packit aea12f
queries its capabilities.  It was created to assist in debugging GnuTLS,
Packit aea12f
but it might be useful to extract a TLS server's capabilities.  It connects
Packit aea12f
to a TLS server, performs tests and print the server's capabilities.  If
Packit aea12f
called with the `-V' parameter more checks will be performed.  Can be used
Packit aea12f
to check for servers with special needs or bugs.
Packit aea12f
Packit aea12f
@end example
Packit aea12f
@exampleindent 4
Packit aea12f
Packit aea12f
@anchor{gnutls-cli-debug debug}
Packit aea12f
@subheading debug option (-d)
Packit aea12f
Packit aea12f
This is the ``enable debugging'' option.
Packit aea12f
This option takes a number argument.
Packit aea12f
Specifies the debug level.
Packit aea12f
@anchor{gnutls-cli-debug app-proto}
Packit aea12f
@subheading app-proto option
Packit aea12f
Packit aea12f
This is an alias for the @code{starttls-proto} option,
Packit aea12f
@pxref{gnutls-cli-debug starttls-proto, the starttls-proto option documentation}.
Packit aea12f
Packit aea12f
@anchor{gnutls-cli-debug starttls-proto}
Packit aea12f
@subheading starttls-proto option
Packit aea12f
Packit aea12f
This is the ``the application protocol to be used to obtain the server's certificate (https, ftp, smtp, imap, ldap, xmpp, lmtp, pop3, nntp, sieve, postgres)'' option.
Packit aea12f
This option takes a string argument.
Packit aea12f
Specify the application layer protocol for STARTTLS. If the protocol is supported, gnutls-cli will proceed to the TLS negotiation.
Packit aea12f
@anchor{gnutls-cli-debug exit status}
Packit aea12f
@subheading gnutls-cli-debug exit status
Packit aea12f
Packit aea12f
One of the following exit values will be returned:
Packit aea12f
@table @samp
Packit aea12f
@item 0 (EXIT_SUCCESS)
Packit aea12f
Successful program execution.
Packit aea12f
@item 1 (EXIT_FAILURE)
Packit aea12f
The operation failed or the command syntax was not valid.
Packit aea12f
@end table
Packit aea12f
@anchor{gnutls-cli-debug See Also}
Packit aea12f
@subheading gnutls-cli-debug See Also
Packit aea12f
gnutls-cli(1), gnutls-serv(1)
Packit aea12f
@anchor{gnutls-cli-debug Examples}
Packit aea12f
@subheading gnutls-cli-debug Examples
Packit aea12f
@example
Packit aea12f
$ gnutls-cli-debug localhost
Packit aea12f
GnuTLS debug client 3.5.0
Packit aea12f
Checking localhost:443
Packit aea12f
                             for SSL 3.0 (RFC6101) support... yes
Packit aea12f
                        whether we need to disable TLS 1.2... no
Packit aea12f
                        whether we need to disable TLS 1.1... no
Packit aea12f
                        whether we need to disable TLS 1.0... no
Packit aea12f
                        whether %NO_EXTENSIONS is required... no
Packit aea12f
                               whether %COMPAT is required... no
Packit aea12f
                             for TLS 1.0 (RFC2246) support... yes
Packit aea12f
                             for TLS 1.1 (RFC4346) support... yes
Packit aea12f
                             for TLS 1.2 (RFC5246) support... yes
Packit aea12f
                                  fallback from TLS 1.6 to... TLS1.2
Packit aea12f
                        for RFC7507 inappropriate fallback... yes
Packit aea12f
                                     for HTTPS server name... Local
Packit aea12f
                               for certificate chain order... sorted
Packit aea12f
                  for safe renegotiation (RFC5746) support... yes
Packit aea12f
                     for Safe renegotiation support (SCSV)... no
Packit aea12f
                    for encrypt-then-MAC (RFC7366) support... no
Packit aea12f
                   for ext master secret (RFC7627) support... no
Packit aea12f
                           for heartbeat (RFC6520) support... no
Packit aea12f
                       for version rollback bug in RSA PMS... dunno
Packit aea12f
                  for version rollback bug in Client Hello... no
Packit aea12f
            whether the server ignores the RSA PMS version... yes
Packit aea12f
whether small records (512 bytes) are tolerated on handshake... yes
Packit aea12f
    whether cipher suites not in SSL 3.0 spec are accepted... yes
Packit aea12f
whether a bogus TLS record version in the client hello is accepted... yes
Packit aea12f
         whether the server understands TLS closure alerts... partially
Packit aea12f
            whether the server supports session resumption... yes
Packit aea12f
                      for anonymous authentication support... no
Packit aea12f
                      for ephemeral Diffie-Hellman support... no
Packit aea12f
                   for ephemeral EC Diffie-Hellman support... yes
Packit aea12f
                    ephemeral EC Diffie-Hellman group info... SECP256R1
Packit aea12f
                  for AES-128-GCM cipher (RFC5288) support... yes
Packit aea12f
                  for AES-128-CCM cipher (RFC6655) support... no
Packit aea12f
                for AES-128-CCM-8 cipher (RFC6655) support... no
Packit aea12f
                  for AES-128-CBC cipher (RFC3268) support... yes
Packit aea12f
             for CAMELLIA-128-GCM cipher (RFC6367) support... no
Packit aea12f
             for CAMELLIA-128-CBC cipher (RFC5932) support... no
Packit aea12f
                     for 3DES-CBC cipher (RFC2246) support... yes
Packit aea12f
                  for ARCFOUR 128 cipher (RFC2246) support... yes
Packit aea12f
                                       for MD5 MAC support... yes
Packit aea12f
                                      for SHA1 MAC support... yes
Packit aea12f
                                    for SHA256 MAC support... yes
Packit aea12f
                              for ZLIB compression support... no
Packit aea12f
                     for max record size (RFC6066) support... no
Packit aea12f
                for OCSP status response (RFC6066) support... no
Packit aea12f
              for OpenPGP authentication (RFC6091) support... no
Packit aea12f
@end example
Packit aea12f
Packit aea12f
You could also use the client to debug services with starttls capability.
Packit aea12f
@example
Packit aea12f
$ gnutls-cli-debug --starttls-proto smtp --port 25 localhost
Packit aea12f
@end example