dane(1) Generate TLSA/HASTLS DNS records by scanning SSL/TLS sites


dane [-v] [-q] [-h] [-v] [--draft|--rfc] [--sha256] [--sha512] [--full] [--insecure] [--pubkey] [--txt] [--eecert] [--cacert] [-4] [-6] [--axfr] [-n <nameserver>] host1 [host2 ...]] [@nameserver]]


dane generates TLSA/HASTLS records based on the IETF DANE working group proposal. These are currently in draft, so private RRTYPE assignments are used. Records are generated by connecting to the website using SSL and grabbing its (EE) certificate. If the nameserver of the domain allows zone tranfers (AXFR), an entire domain can be processed for all its A/AAAA records.


-n / --nameserver <hostname1>

Use specified nameserver for AXFR query

-q / --quiet

Supress all warnings - useful when scanning lots of host where some do not run SSL


Use AXFR. Implies -n nameserver (or @nameserver). Hosts are treated as zones to AXFR.


Output TLSA record from SSL server scan results (default)


Output TLSA record format EE certificates (type 1) (default)


Output TLSA record for just the public key (type unassined) (not implemented yet)


Output Kaminsky style TXT record for (not implemented yet)


Output TLSA record for the entire CA chain and EE-cert (not yet implemented)


Output TLSA record reference type 1 (SHA256) records (default)


Output TLSA record reference type 2 (SHA512) records


Output TLSA record reference type 0 (full cert) records


Output Unknown Resource Record format with private RRTYPE assignment. This is used while the standard is still in draft form, and for when your nameserver does not (yet) support the new RRTYPE names. This option is the default (if --rfc is not specified) as long as dane is has not be released as RFC.


Specify records using the RRTYPE's TLSA (and HASTLA)


Continue scanning even if the A/AAAA records could not be validated using DNSSEC


Only use ipv4 networking - do not attempt to connect to AAAA SSL sites


Only use ipv6 networking - do not attempt to connect to A SSL sites

-h / --help

Output help information and exit.

-v / --version

Output version information and exit.




dane requires python-dns and python-argparse(m[blue]http://www.pythondns.orgm[])

Fedora: yum install python-dns python-argparse

Debian: apt-get install python-dnspython python-argparse


I'm sure there are


typical usage:

dane www.xelerance.com

dane --rfc --sha512 www.xelerance.com

dane --insecure --draft xelerance.com @ns0.xelerance.net


Paul Wouters <[email protected]>


Copyright 2011 Xelerance Corporation

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See <m[blue]http://www.fsf.org/copyleft/gpl.txtm[]>.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (file COPYING in the distribution) for more details.