CONVERTAR(1)

πŸ“¦
version 2.2.3 Β· 2 versions
, in fedora 43

πŸ’– CONVERTAR(1) β€” the perl manual page, but make it cute ✨

okay so bestie, welcome to convertar, a User Contributed Perl thingy that lives in section 1 of the manual. grab a strawberry πŸ“ and let's get into it.


✨ NAME ✨

convertar β€” it converts trust anchor repositories from one format to another. that's the whole job. she's a converter. she converts. πŸ’…


🌸 DESCRIPTION 🌸

so convertar works on input files and output files that come in all these different Trust Anchor Repository (TAR) formats, and she's the one who figures out which format you're talking about by looking at a "type:filename" spec.

and here's the fun part: you can pass options to the convertar module by sticking a /-delimited specifier inside the type identifier. it's giving very specific. it looks like this:

type/option=value/other=othervalue:filename

below there's a whole list of the input and output formats convertar understands by default, plus what options each one takes. no cap, it's all there. πŸ‘‘

also: if you wanna write new plugins so convertar can understand even more TAR formats, go read the Net::DNS::SEC::Tools::TrustAnchor module and its documentation. that's your roadmap, bestie. πŸ—ΊοΈ


πŸŽ€ EXAMPLES πŸŽ€

this one reads in an itar.xml file (you can get it from https://itar.iana.org/) and turns it into a file that BIND's named application can read in:

# convertar -i itar:itar.xml -o bind:bind.conf

and this one? this one is the main character. it reads in multiple files, merges them all together, and writes them out to two different output formats at once β€” and the libval format goes straight to stdout:

# convertar -i itar:itar.xml,csv:local.csv -o bind:bind.conf,libval:-

obsessed, honestly. πŸ”₯


πŸ¦‹ FILE SPECIFICATION CONVENTIONS πŸ¦‹

types and files (like for the -i and -o switches) get specified in this exact format:

type:/path/to/file

the type part tells you which internal module is gonna try to read the file. the file part? it may or may not be required (but the : always is πŸ’€), and it may or may not point at a real actual file β€” that totally depends on whichever module is in charge of the content. some modules might, for example, load content from the network. sneaky. for types that can read and write to a file, you can specify a - as the file to print to or read from standard output.

file formats MAY be inferred from a trailing suffix, if the trailing suffix. like, eg, if the referenced file is foo.csv, then internally convertar will translate that to "csv:foo.csv". cute, right? 🧚


🌈 FILE FORMATS 🌈

these are the file formats convertar knows by default:

  • bind β€” a BIND name server (named) compatible trust anchor configuration file. you can include this inside a master named.conf file using the "include" directive.

the bind option can also take a /write_expectations=1 flag when writing, and that writes an options {} section that will turn on dnssec and require validation for zones from all the imported data.

E.G. bind/write_expectations=1:named.conf

  • secspider β€” this is merely an alias that fetches the specspider (http://secspider.cs.ucla.edu/) bind configuration file and then parses it using the bind file format.
WARNING: the PGP signature on the downloaded file is NOT checked. not even a little. 🚨
  • csv β€” a comma-separated list format.
  • dump β€” a Perl hash dump format. this one should be used mostly for debugging newly developed modules, because it shows you the internal hash structure that gets passed between modules. peek behind the curtain energy. πŸ™ˆ
  • itar β€” IANA's itar format, which is an XML-based format of trust anchor keys. IANA's file is available from https://itar.iana.org/.

if you specify only an 'itar:' line only (or itar:URL), convertar will attempt to retrieve the current remote ITAR respository file directly.

WARNING: the PGP signature on the downloaded file is NOT checked. again!! 😭
NOTE: support for downloading the ITAR repository over the network requires the LWP::UserAgent module to be installed.
  • libval β€” the libval format is the configuration file format that DNSSEC-Tool's libval library uses.

the libval option can also take a /write_expectations=1 flag when writing, to specify that the default (:) zone-security-expectation's should be populated to require validation of all the zones with imported data. all other zones will have a policy set to 'ignore.

E.G. libval/write_expectations=1:dnsval.conf

  • mf β€” the master file (mf) format is also available from the itar web site.
  • dns β€” the dns format performs live queries of records attached to a domain name to request either DS or DNSKEY records. by default, DNSKEY records will be queried. the specific type to be queried can be specified by preceeding the zone name with a "ds/" or "dnskey/" prefix. example valid 'dns:' type specifications:
dns:dnssec-tools.org
dns:ds/dnssec-tools.org
dns:dnskey/dnssec-tools.org

also, if you want to read dnskeys from the network but convert them to ds records, you can use the /tods flag:

dns/tods=1:dnssec-tools.org

the DNS type can not output records and is only useful for reading in information. she reads, she does not write. πŸ’…

WARNING: the keys and data being retrieved are not internally validated and thus should not be trusted unless a secured resolver is being used.

πŸ’œ OPTIONS πŸ’œ

  • -i STRING, --input-file=STRING β€” input file(s) to process.

convertar will read in the specified file(s). multiple files can be separated by commas.

  • -o STRING, --output-file=STRING β€” output file(s) to write.

convertar will write out these specified file(s) in the requested output formats. multiple files can be separated by commas.

  • -h, --help, --help-full β€” displays command line help information. help, but make it thorough. πŸ“–
  • --gui, --no-gui β€” controls the use of the optional GUI.

Copyright 2009-2013 SPARTA, Inc. All rights reserved. see the COPYING file included with the DNSSEC-Tools package for details.


🌟 AUTHOR 🌟

Wes Hardaker < hardaker AT users DOT sourceforge DOT net >


🌈 SEE ALSO 🌈

Net::DNS::SEC::Tools::TrustAnchor(3)


and that's the whole page, bestie πŸ’– this was perl v5.42.0, dated 2025-07-23, and it's giving User Contributed Perl Documentation realness. slay, go convert some trust anchors. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from