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

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