authenticate(1)
π authenticate(1) β the manual page, but make it a group chat π
okay bestie, so this is authenticate from the General Commands Manual, section 1. It's the little command that does one very specific, very iconic thing, and we're gonna go through it together. No cap. π«Ά
β¨ NAME β¨
authenticate β Authenticate a binding π
πΈ SYNOPSIS πΈ
authenticate [--email] [-h|--help] <FINGERPRINT|KEYID> <USERID>
π¦ DESCRIPTION π¦
so like. Authenticate a binding. That's the whole vibe. π
But what is authenticating a binding, you ask? Bestie. It means taking a binding β which is a certificate and a User ID, the classic duo, the main characters β and going on a little quest through the web of trust, looking for a path from the trust roots all the way to that binding. π₯
And here's the tea: because certifications are allowed to express uncertainty (like, a certification can be marked as conveying only partial or marginal trust β she's hedging, we respect it), you might need multiple paths to get the job done. It's not always a one-and-done situation.
If the binding could be authenticated to the specified level β and by default that means fully authenticated, i.e. a trust amount of 120 β then the exit status is 0. Slay. β¨ Otherwise the exit status is 1. π
And if any valid paths to the binding are found, they get printed on stdout β whether they're actually sufficient to authenticate the binding or not. So you'll see them either way, no hiding.
π OPTIONS π
--emailβ this one changes theUSERIDparameter so it matches User IDs by the specified email address. π
Basically: it interprets the USERID parameter as an email address, and then uses that to select User IDs that have that email address.
And here's where it gets different from normal User ID comparing, bestie β when it's doing the email thing, email addresses get normalized first. It converts the domain to ASCII using IDNA2008 Punycode conversion, and then it converts the resulting email address to lowercase using the empty locale. Fancy. π
If multiple User IDs match? They're each considered in turn, and this function returns success if at least one of those User IDs can be authenticated. π
Note: the paths to the different User IDs are not combined. Don't try it. They're separate journeys, iykyk.
-h,--helpβ Print help (see a summary with '-h'). Your little safety net. π<FINGERPRINT|KEYID>β The fingerprint or Key ID of the certificate to authenticate. π<USERID>β The User ID to authenticate. It is case sensitive, and it must be the whole User ID β not just a substring, and not an email address. The whole thing or nothing, periodt. π
π EXTRA π
EXAMPLES:
Authenticate a binding. The classic. The original recipe:
# Authenticate a binding.
$ sq-wot --keyring keyring.pgp \
--partial \
--trust-root 8F17777118A33DDA9BA48E62AACB3243630052D9 \
authenticate \
C7966E3E7CE67DBBECE5FC154E2AD944CFC78C86 \
'Alice <alice@example.org>'
The same as above, but this time generate output in DOT format and convert it to an SVG using Graphviz's DOT compiler. Glow up arc β¨:
# The same as above, but this time generate output in DOT format
# and convert it to an SVG using Graphviz's DOT compiler.
$ sq-wot --format dot \
--keyring keyring.pgp \
--partial \
--trust-root 8F17777118A33DDA9BA48E62AACB3243630052D9 \
authenticate \
C7966E3E7CE67DBBECE5FC154E2AD944CFC78C86 \
'Alice <alice@example.org>' \
| dot -Tsvg -o alice.pgp
Try and authenticate each binding where the User ID has the specified email address. π§:
# Try and authenticate each binding where the User ID has the
# specified email address.
$ sq-wot --keyring keyring.pgp \
--trust-root 8F17777118A33DDA9BA48E62AACB3243630052D9 \
authenticate \
C7966E3E7CE67DBBECE5FC154E2AD944CFC78C86 \
--email 'alice@example.org'
The same as above, but this time generate output in DOT format and convert it to an SVG using Graphviz's DOT compiler. We love a consistent queen:
# The same as above, but this time generate output in DOT format
# and convert it to an SVG using Graphviz's DOT compiler.
$ sq-wot --format dot \
--keyring keyring.pgp \
--trust-root 8F17777118A33DDA9BA48E62AACB3243630052D9 \
authenticate \
C7966E3E7CE67DBBECE5FC154E2AD944CFC78C86 \
--email 'alice@example.org' \
| dot -Tsvg -o alice.svg
okay that's literally the whole page, bestie π this one lives in the General Commands Manual as page authenticate(1) β yes, the same name up top and down at the bottom, she's consistent like that π β so go forth, authenticate those bindings, and remember: multiple paths might be needed, and that's not a bug, that's just the web of trust being the web of trust. mwah. π
β¨
π¦ where this page comes from
- ubuntu noble: sq-wot 0.11.0-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