OPENPGPKEY(1)
π OPENPGPKEY(1) π
okay bestie, this one's from the Internet / DNS corner of the man page world, and it's literally about shoving your PGP keys into DNS. buckle up π
β¨ NAME β¨
openpgpkey β Create and verify RFC-TBD OPENPGPKEY DNS records
πΈ SYNTAX πΈ
openpgpkey [--fetch | --verify] [--insecure] [--resolv.conf
/PATH/TO/RESOLV.CONF] user@domain
openpgpkey [--create] [--insecure] [--resolv.conf /PATH/TO/RESOLV.CONF]
[--output {rfc,generic,both}] [--uid <uid>] [--keyid <keyid>]
user@domain
π¦ DESCRIPTION π¦
so openpgpkey generates RFC-7929 OPENPGPKEY DNS records, no cap. it's giving "my public key, but make it DNS".
here's the tea: if you're dealing with older nameserver implementations that do not yet support the OPENPGPKEY record, you pass --output generic and it'll spit the openpgpkey data out in Generic Record (RFC-3597) format instead. iconic workaround energy π
how are the records made? it pulls all keys with the specified email address associated with it straight outta the user's local GnuPG keychain. yes queen, your local keychain.
and verification? verifying OPENPGPKEY records works by comparing the keyid and fingerprint of the OPENPGPKEY obtained from DNS with the version in the local GnuPG keychain. two keys walk into a bar, one of them is a liar π
π OPTIONS π
--fetchβ Fetch an OPENPGPKEY public key record from DNS. go get it π«Ά--createβ Create an OPENPGPKEY DNS record. build the thing β¨--verifyβ Verify a public key from the local GPG keyring with the OPENPGPKEY DNS record. the vibe check π--resolvconf FILEβ Specify a custom resolv.conf file (default:/etc/resolv.conf)--output rfc | generic | bothβ Output format of OPENPGPKEY record."OPENPGPKEY"for rfc,"TYPE61"for generic (default:generic)
also, sneaky lil note: if neither create or verify is specified, create is used. it just defaults, bestie, no drama π
ngl, the synopsis also shows--insecure,--resolv.conf /PATH/TO/RESOLV.CONF,--uid <uid>and--keyid <keyid>β but the OPTIONS list above is all this page describes. i'm just telling you what's on the page, fr fr. π
π REQUIREMENTS π
openpgpkey requires the following python libraries: unbound, gnupg and argparse. it also requires gnupg which provides the gpg command. yes, gnupg gets a double mention. it's the main character here π
π BUGS π
none known π
π EXAMPLES π
typical usage:
openpgpkey --fetch paul@nohats.ca > paul.pubkey
openpgpkey --verify paul@nohats.ca
openpgpkey --create paul@nohats.ca
β SEE ALSO β
π AUTHORS π
Paul Wouters <pwouters@redhat.com>
π§ COPYRIGHT π§
Copyright 2014-2022
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 <http://www.fsf.org/copyleft/gpl.txt>.
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.
okay that's the whole page bestie, every last crumb of it π«Ά written by Paul Wouters, dated December 30, 2013, and living in OPENPGPKEY(1) β stan a DNS key record, periodt πβ¨π
π¦ where this page comes from
- epel 10: hash-slinger 3.6-2.el10_3 Β· GPL-2.0-or-later
- epel 9: hash-slinger 3.6-2.el9 Β· GPL-2.0-or-later
- fedora 43: hash-slinger 3.4-3.fc43 Β· GPL-2.0-or-later
- fedora 43: hash-slinger 3.6-2.fc43 Β· GPL-2.0-or-later
- fedora 44: hash-slinger 3.5-1.fc44 Β· GPL-2.0-or-later
- fedora 44: hash-slinger 3.6-2.fc44 Β· GPL-2.0-or-later
- nixos 26.05: hash-slinger 3.4
- nixpkgs unstable: hash-slinger 3.4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms