SQ(1)
β¨ SQ(1) β the manual, but make it cute β¨
okay bestie, this is a page from the SQ(1) manual β specifically sq-network-wkd-publish. yes the header says SQ(1) and yes we're doing the whole thing. grab a strawberry π and let's go.
π NAME π
sq-network-wkd-publish β publish certificates in a Web Key Directory
like, it puts your certs where the people can find them. main character behavior fr.
π¦ SYNOPSIS π¦
sq network wkd publish [OPTIONS] DEST
that's it. that's the whole vibe. DEST is the moment. π«Ά
πΈ DESCRIPTION πΈ
Publish certificates in a Web Key Directory.
So basically: this command publishes certificates β or certificate updates β into a Web Key Directory (a WKD, iykyk). If you want, you can create or update a whole WKD hierarchy right on your local system by handing it a path as the destination. local slay.
But typically a WKD lives on a web server. So if you pass --rsync, this command goes full long-distance-relationship mode and manages remote WKD directory hierarchies by using rsync(1). remote slay. β¨
Wanna insert a new cert into the WKD? That's what --cert is for, bestie.
And here's the iconic part: any updates for certificates that are already in the WKD get published automatically. no extra steps. obsessed.
β οΈ Note, and this one's important: to update a WKD hierarchy, it first gets copied to a temporary location on the local machine, then new certs / cert updates get inserted into that local copy, and then the whole hierarchy is copied back to where it came from. The way that this is not an atomic operationβ¦ yeah. So you gotta be careful and avoid concurrent updates. like, seriously. protect your peace AND your WKD. π
π OPTIONS π
π Subcommand options π
--allβ Publish authenticated certs with a user ID matching domain
Use every certificate that has a user ID matching the domain you gave to the --domain parameter and that can be fully authenticated. only the verified besties.
--cert=FINGERPRINT|KEYIDβ Use certificates with the specified fingerprint or key ID--cert-email=EMAILβ Use certificates where a user ID includes the specified email address--cert-file=PATHβ Read certificates from PATH--cert-userid=USERIDβ Use certificates with the specified user ID--createβ Create the WKD hierarchy if it does not exist yet
manifesting a WKD into existence, literally.
--domain=FQDNβ Generate a WKD for a fully qualified domain name for email--method=METHODβ Select kind of WKD hierarchy to be created
The advanced method is the default and should be preferred β it's hosted on a separate domain (e.g. openpgpkey.example.org). π
The direct method is hosted on the same domain (e.g. example.org).
[possible values: advanced, direct]
--rsyncβ Usersync(1)to accessDEST--rsync-path=RSYNCβ Path to the local rsync command to use, implies--rsyncDESTβ Location of the WKD on the local or remote machine
If --rsync is given, this is passed as-is to rsync(1). no edits, no notes, straight through. π§
π Global options π
See sq(1) for a description of the global options. (yes, go read that one too, it's giving lore.)
β EXAMPLES β
Create a new WKD hierarchy in the local directory public_html, and insert Alice's cert.
sq network wkd publish --create \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--domain=example.org public_html
Add Bob's cert to the existing WKD hierarchy in the local directory public_html.
sq network wkd publish \
--cert=511257EBBF077B7AEDAE5D093F68CB84CE537C9A \
--domain=example.org public_html
Add all certs with an authenticated user ID in example.org to the existing WKD hierarchy.
sq network wkd publish --domain=example.org --all public_html
Refresh all certs in the existing WKD hierarchy in the local directory public_html from the cert store.
sq network wkd publish --domain=example.org public_html
π₯ SEE ALSO π₯
For the full documentation see <https://book.sequoia-pgp.org/>. π
π VERSION π
1.5.0
okay that's the whole page, you ate that. no cap. πβ¨
Sequoia PGP β version 1.5.0, same energy as this page, mwah π stay slaying out there bestie π¦π
π¦ where this page comes from
- fedora 43: sequoia-sq 1.5.0-1.fc43 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- fedora 44: sequoia-sq 1.5.0-1.fc44 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- nixpkgs unstable: sequoia-sq 1.5.0
- opensuse-leap 16.0: sequoia-sq 1.5.0-bp160.1.1 Β· LGPL-2.0-or-later
- opensuse-leap 16.0: sequoia-sq 1.5.0-bp160.1.1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms