dknewkey(1)

✨ NAME ✨

okay so bestie, gather round πŸ’– this is dknewkey, living its best life in section 1 of the General Commands Manual, and it generates new DKIM public/private key pairs. that's the whole job. no cap.


πŸŽ€ VERSION πŸŽ€

0.8.0 β€” she's a specific girlie, and that's the version you're holding πŸ’…


🌸 DESCRIPTION 🌸

so dknewykey generates new DKIM keys. (yes, that's how it's spelled in the source, we don't make the rules, we just report them 😭)

for RSA keys, it defaults to a 2048 bit key size β€” and that's controlled by the BITS_REQUIRED variable, so if you wanna change it, that's your knob, babe. ed25519 keys are built different: they do not have a variable size. that's just not a thing they do ✨

here's the tea on how each one gets made:

  • for RSA keys, it uses openssl to do the generation. by default it assumes that lives at /usr/bin/openssl, and that is controlled by the OPENSSL_BINARY variable πŸ—οΈ
  • for ed25519 keys, PyNaCl is used β€” which is python-nacl in Debian and its derivatives πŸ¦‹
  • for RSA keys, k=sha256 is now included in the public DNS record, and the whole reason is to prevent inadvertent use with the now obsolete sha1 hash algorithm. (see RFC 8301) πŸ”₯
like seriously, that sha1 thing is obsolete, we are not doing that anymore, the k=sha256 is there to protect you from yourself πŸ’€

πŸ¦‹ USAGE πŸ¦‹

dknewkey.py [-h] [--ktype {rsa,ed25519}] key_name

mandatory positional arguments:

  • key_name β€” the name of the key. you literally have to give this one, it's not optional, it's mandatory, she's required periodt πŸ‘‘

optional arguments:

  • -h, --help β€” show this help message and exit. the classic. the icon. ask her for help and she will simply tell you things 🫢
  • --ktype {rsa,ed25519} β€” DKIM key type: Default is rsa 🌈
NOTE: depending on the packaging and distribution, the exact path and name for the executable may vary. so like, don't come for me if your binary is named something slightly different, that's a packaging thing, not a me thing πŸ™ˆ

πŸ’œ AUTHORS πŸ’œ

this version of dknewkey was written by Brandon Long <blong@google.com>. πŸ’–

it has been substantially rewritten by Scott Kitterman <scott@kitterman.com>. ✨

this man-page was created by Scott Kitterman <scott@kitterman.com> and is licensed under the same terms as dkimpy. πŸ“œ


and that's the whole page bestie, no crumbs left πŸ“ mwah πŸ’…

signing off from 2018-02-05 β€” this is dknewkey(1), over and out, slay πŸŽ€βœ¨