1danetool(1)                      User Commands                     danetool(1)
2
3
4

NAME

6       danetool - GnuTLS DANE tool
7

SYNOPSIS

9       danetool [-flags] [-flag [value]] [--option-name[[=| ]value]]
10
11       All arguments must be options.
12
13

DESCRIPTION

15       Tool to generate and check DNS resource records for the DANE protocol.
16

OPTIONS

18       -d number, --debug=number
19              Enable  debugging.   This  option takes an integer number as its
20              argument.  The value of number is constrained to being:
21                  in the range  0 through 9999
22
23              Specifies the debug level.
24
25       -V, --verbose
26              More verbose output.  This option may appear an unlimited number
27              of times.
28
29
30       --infile=file
31              Input file.
32
33
34       --outfile=string
35              Output file.
36
37
38       --load-pubkey=string
39              Loads a public key file.
40
41              This can be either a file or a PKCS #11 URL
42
43       --load-certificate=string
44              Loads a certificate file.
45
46              This can be either a file or a PKCS #11 URL
47
48       --dlv=string
49              Sets a DLV file.
50
51              This sets a DLV file to be used for DNSSEC verification.
52
53       --hash=string
54              Hash algorithm to use for signing.
55
56              Available hash functions are SHA1, RMD160, SHA256, SHA384,
57              SHA512.
58
59       --check=string
60              Check a host's DANE TLSA entry.
61
62              Obtains the DANE TLSA entry from the given hostname and prints
63              information. Note that the actual certificate of the host can be
64              provided using --load-certificate, otherwise danetool will con‐
65              nect to the server to obtain it. The exit code on verification
66              success will be zero.
67
68       --check-ee
69              Check only the end-entity's certificate.
70
71              Checks the end-entity's certificate only. Trust anchors or CAs
72              are not considered.
73
74       --check-ca
75              Check only the CA's certificate.
76
77              Checks the trust anchor's and CA's certificate only. End-enti‐
78              ties are not considered.
79
80       --tlsa-rr
81              Print the DANE RR data on a certificate or public key.  This op‐
82              tion must appear in combination with the following options:
83              host.
84
85              This command prints the DANE RR data needed to enable DANE on a
86              DNS server.
87
88       --host=hostname
89              Specify the hostname to be used in the DANE RR.
90
91              This command sets the hostname for the DANE RR.
92
93       --proto=protocol
94              The protocol set for DANE data (tcp, udp etc.).
95
96              This command specifies the protocol for the service set in the
97              DANE data.
98
99       --port=string
100              The port or service to connect to, for DANE data.
101
102
103       --app-proto
104              This is an alias for the --starttls-proto option.
105
106       --starttls-proto=string
107              The application protocol to be used to obtain the server's cer‐
108              tificate (https, ftp, smtp, imap, ldap, xmpp, lmtp, pop3, nntp,
109              sieve, postgres).
110
111              When the server's certificate isn't provided danetool will con‐
112              nect to the server to obtain the certificate. In that case it is
113              required to know the protocol to talk with the server prior to
114              initiating the TLS handshake.
115
116       --ca   Whether the provided certificate or public key is a Certificate
117              Authority.
118
119              Marks the DANE RR as a CA certificate if specified.
120
121       --x509 Use the hash of the X.509 certificate, rather than the public
122              key.
123
124              This option forces the generated record to contain the hash of
125              the full X.509 certificate. By default only the hash of the pub‐
126              lic key is used.
127
128       --local
129              This is an alias for the --domain option.
130
131       --domain, --no-domain
132              The provided certificate or public key is issued by the local
133              domain.  The no-domain form will disable the option.  This op‐
134              tion is enabled by default.
135
136              DANE distinguishes certificates and public keys offered via the
137              DNSSEC to trusted and local entities. This flag indicates that
138              this is a domain-issued certificate, meaning that there could be
139              no CA involved.
140
141       --local-dns, --no-local-dns
142              Use the local DNS server for DNSSEC resolving.  The no-local-dns
143              form will disable the option.
144
145              This option will use the local DNS server for DNSSEC.  This is
146              disabled by default due to many servers not allowing DNSSEC.
147
148       --insecure
149              Do not verify any DNSSEC signature.
150
151              Ignores any DNSSEC signature verification results.
152
153       --inder, --no-inder
154              Use DER format for input certificates and private keys.  The
155              no-inder form will disable the option.
156
157              The input files will be assumed to be in DER or RAW format.  Un‐
158              like options that in PEM input would allow multiple input data
159              (e.g. multiple certificates), when reading in DER format a sin‐
160              gle data structure is read.
161
162       --inraw
163              This is an alias for the --inder option.
164
165       --print-raw, --no-print-raw
166              Print the received DANE data in raw format.  The no-print-raw
167              form will disable the option.
168
169              This option will print the received DANE data.
170
171       --quiet
172              Suppress several informational messages.
173
174              In that case on the exit code can be used as an indication of
175              verification success
176
177       -h, --help
178              Display usage information and exit.
179
180       -!, --more-help
181              Pass the extended usage information through a pager.
182
183       -v [{v|c|n --version [{v|c|n}]}]
184              Output version of program and exit.  The default mode is `v', a
185              simple version.  The `c' mode will print copyright information
186              and `n' will print the full copyright notice.
187

EXAMPLES

189       DANE TLSA RR generation
190
191       To create a DANE TLSA resource record for a certificate (or public key)
192       that was issued localy and may or may not be signed by a CA use the
193       following command.
194           $ danetool --tlsa-rr --host www.example.com --load-certificate cert.pem
195
196       To create a DANE TLSA resource record for a CA signed certificate,
197       which will be marked as such use the following command.
198           $ danetool --tlsa-rr --host www.example.com --load-certificate cert.pem   --no-domain
199
200       The former is useful to add in your DNS entry even if your certificate
201       is signed by a CA. That way even users who do not trust your CA will be
202       able to verify your certificate using DANE.
203
204       In order to create a record for the CA signer of your certificate use
205       the following.
206           $ danetool --tlsa-rr --host www.example.com --load-certificate cert.pem   --ca --no-domain
207
208       To read a server's DANE TLSA entry, use:
209           $ danetool --check www.example.com --proto tcp --port 443
210
211       To verify an HTTPS server's DANE TLSA entry, use:
212           $ danetool --check www.example.com --proto tcp --port 443 --load-certificate chain.pem
213
214       To verify an SMTP server's DANE TLSA entry, use:
215           $ danetool --check www.example.com --proto tcp --starttls-proto=smtp --load-certificate chain.pem
216

EXIT STATUS

218       One of the following exit values will be returned:
219
220       0  (EXIT_SUCCESS)
221              Successful program execution.
222
223       1  (EXIT_FAILURE)
224              The operation failed or the command syntax was not valid.
225
226       70  (EX_SOFTWARE)
227              libopts had an internal operational error.  Please report it to
228              autogen-users@lists.sourceforge.net.  Thank you.
229

SEE ALSO

231           certtool (1)
232

AUTHORS

234       Nikos Mavrogiannopoulos, Simon Josefsson and others; see
235       /usr/share/doc/gnutls/AUTHORS for a complete list.
236
238       Copyright (C) 2000-2020 Free Software Foundation, and others all rights
239       reserved.  This program is released under the terms of the GNU General
240       Public License, version 3 or later.
241

BUGS

243       Please send bug reports to: bugs@gnutls.org
244

NOTES

246       This manual page was AutoGen-erated from the danetool option defini‐
247       tions.
248
249
250
2513.7.2                             29 May 2021                      danetool(1)
Impressum