A2ID-LOADKEY(1)

πŸ“¦ version 2.6.4, in nixos 26.05, nixpkgs unstable

πŸ’… a2id-loadkey(1) β€” like, the preload a key girlie of ARPA2 Signed Identities

okay so real talk, this is a2id-loadkey(1), a System Management Command, and she is very specific about her whole thing. buckle up bestie πŸŽ€


✨ SYNOPSIS ✨

a2id-loadkey keyname fd program args...
a2id-loadkey /path/to/file.key fd program args...

two whole forms, both iconic, both doing the exact same job with a different address for the key πŸ’–


🌸 DESCRIPTION 🌸

so before it even runs program, it preloads the key for ARPA2 Identity Signing into file descriptor fd β€” and here's the main character detail: program can only read it once. that's it. one shot. ✨ to make that happen, the key gets passed through a pipeline from a2id-loadkey to program.

ngl, program can impose further restrictions on itself before it reads the pipeline β€” lowkey responsible of it β€” but it cannot reverse that single attempt to read from it. the one-read thing is, like, load-bearing. πŸ’€

when you use the form with a keyname, the directory /var/lib/arpa2/identity is used as a key repository for the system, with files only accessible to the root user πŸ”’. an extension then gets added to the keyname. and it's customary to have a key named default stored in /var/lib/arpa2/identity/default.key to serve most purposes β€” that's the go-to, the default girlie, the main character key πŸ‘‘

applications must load keys explicitly, fr fr β€” the default key store is merely a convention to get that started, not magic. the function a2id_addkey() is what you use to setup a new key. programs may open a file descriptor to the key(s) to pass and harvest them after dropping privileges 🫢. and an even stronger mechanism is to do this key passing through a pipe β€” it fits into the pipe, and it can only be read once by the program at a lower privilege. that's the whole vibe check: drop privileges first, then read. πŸ’…

multiple keys may be loaded, for instance to permit verification of signatures with older keys, while default.key is used for signing πŸ¦‹. to achieve this, just invoke a2id-loadkey again as part of the program. easy. iconic. periodt.


🌈 AUTHOR 🌈

written by Rick van Rein of OpenFortress.nl, for the ARPA2.net project 🫑


πŸ”₯ REPORTING BUGS πŸ”₯

for any discussion, including about bugs, please use the https://gitlab.com/arpa2/arpa2common/ project page for ARPA2 Common. they use its issue tracker to track bugs and feature requests β€” so like, put it there, not in my DMs πŸ™ˆ


Copyright Β© 2021 Rick van Rein, ARPA2.net.

ARPA2 is funded from InternetWide.org, which in turn receives funding from various sources πŸ’Έ. this particular work was funded through a grant of SIDNfonds β€” a public interest fund geared towards a better Internet for all β€” and paid by administration fees for .nl domain names πŸ‡³πŸ‡±βœ¨


πŸ’œ SEE ALSO πŸ’œ

ARPA2 Common is documented on http://common.arpa2.net/ and its code is on https://gitlab.com/arpa2/arpa2common/ 🌟


mwah πŸ’‹ this page came to you from ARPA2.net, dated June 2021 β€” go preload some keys responsibly, ily, bye πŸ§šπŸ’–

πŸ“¦ where this page comes from