'\" t .\" Title: tlsa .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: December 7, 2015 .\" Manual: Internet / DNS .\" Source: Paul Wouters .\" Language: English .\" .TH "TLSA" "1" "December 7, 2015" "Paul Wouters" "Internet / DNS" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" tlsa \- Create and verify RFC\-6698 TLSA DNS records .SH "SYNTAX" .PP tlsa [\fB\-h\fR] [\fB\-\-verify\fR] [\fB\-create\fR] [\fB\-\-version\fR] [\fB\-4\fR] [\fB\-6\fR] [\fB\-\-insecure\fR] [\fB\-\-resolv\&.conf /PATH/TO/RESOLV\&.CONF\fR] [\fB\-\-port PORT\fR] [\fB\-\-starttls {auto,smtp,imap,pop3,ftp}\fR] [\fB\-\-protocol {tcp,udp,sctp}\fR] [\fB\-\-only\-rr\fR] [\fB\-\-rootkey /PATH/TO/ROOT\&.KEY\fR] [\fB\-\-ca\-cert /PATH/TO/CERTSTORE\fR] [\fB\-\-debug\fR] [\fB\-\-quiet\fR] [\fB\-\-certificate CERTIFICATE\fR] [\fB\-\-output {rfc,generic,both}\fR] [\fB\-\-usage {0,1,2,3}\fR] [\fB\-\-selector {0,1}\fR] [\fB\-mtype {0,1,2}\fR] \fIhostname\fR .SH "DESCRIPTION" .PP tlsa generates RFC\-6698 TLSA DNS records\&. To generate these records for older nameserver implementations that do not yet support the TLSA record, specify \fI\-\-output generic\fR to output the tlsa data in Generic Record (RFC\-3597) format\&. Records are generated by connecting to the website using SSL and grabbing the (EE) certificate and the CA chain\&. Depending on the type and selector used, this information is used to generate TLSA records\&. Currently\&. tlsa has no AXFR support for en\-mass TLSA record generation\&. .SH "OPTIONS" .PP \fB\-\-create\fR .RS 4 Create a TLSA record .RE .PP \fB\-\-verify\fR .RS 4 Verify a TLSA record .RE .PP \fB\-\-protocol\fR tcp | udp | sctp .RS 4 Use a specific transport protocol (default: tcp) .RE .PP \fB\-\-resolvconf\fR FILE .RS 4 Specify a custom resolv\&.conf file (default: /etc/resolv\&.conf)\&. Pass empty value (\-\-resolvconf="") to disable default\&. .RE .PP \fB\-\-port\fR PORT .RS 4 Use specified port (default: 443) .RE .PP \fB\-\-starttls\fR no | smtp | imap | pop3 | ftp .RS 4 Start script type for protocols which need special commands to start a TLS connection\&. Supported are \*(Aqftp\*(Aq (port 21), \*(Aqsmtp\*(Aq (port 25), \*(Aqpop3\*(Aq (port 110) and \*(Aqimap\*(Aq (port 143)\&. The default selects the type based on the port number\&. The value \*(Aqno\*(Aq overrides auto detection\&. .RE .PP \fB\-\-only\-rr\fR .RS 4 Only print the DNS TLSA record .RE .PP \fB\-\-certificate\fR file\&.crt .RS 4 Use specified certificate file, instead of retrieving the certificate from the server\&. Can be a single cert or a complete chain\&. .RE .PP \fB\-\-ca\-cert\fR directory .RS 4 Use specified directory containing CA bundles for CA validation (default: /etc/pki/tls/certs) .RE .PP \fB\-\-rootkey\fR filename .RS 4 Use specified file to read the DNSSEC root key (in anchor or bind format) .RE .PP \fB\-\-output\fR rfc | generic | both .RS 4 Output format of TLSA record\&. "TLSA" for rfc, "TYPE52" for generic (default: rfc) .RE .PP \fB\-\-usage\fR 0 | 1 | 2 | 3 .RS 4 Usage type: public CA (0), EE match validated by public CA (1), private CA (2), private EE (3) (default: 3) .RE .PP \fB\-\-selector\fR 0 | 1 .RS 4 The selector type describes what the type covers \- full certificate (0) or public key (1) (default: 0) .RE .PP \fB\-\-mtype\fR 0 | 1 | 2 .RS 4 Type of the TLSA data\&. Exact match on content (0), SHA256 (1) or SHA512 (2) (default: 0) .RE .PP If neither create or verify is specified, create is used\&. .SH "REQUIREMENTS" .PP tlsa requires the following python libraries: unbound, m2crypto, argparse and ipaddr .SH "BUGS" .PP ipv4/ipv6 handling .SH "EXAMPLES" .PP typical usage: .PP tlsa www\&.fedoraproject\&.org .PP tlsa \-\-verify \-4 nohats\&.ca .PP tlsa \-\-create \-\-insecure fedoraproject\&.org .SH "SEE ALSO" .PP \fBsshfp\fR(1)\fBssh-keygen\fR(1)and RFC\-6698 .PP \m[blue]\fBhttp://people\&.redhat\&.com/pwouters/hash\-slinger/\fR\m[] .PP \m[blue]\fBhttp://os3sec\&.org/\fR\m[] .SH "AUTHORS" .PP Pieter Lexis .SH "COPYRIGHT" .PP Copyright 2012 .PP 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]\fBhttp://www\&.fsf\&.org/copyleft/gpl\&.txt\fR\m[]>\&. .PP 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\&.