SQ(1)
π SQ(1) β sq-pki-link-authorize π
okay bestie, pull up a chair, because this one is about who you trust, and honestly? that's the most main character decision you can make π
β¨ NAME β¨
sq-pki-link-authorize β make a certificate a trusted introducer π«Ά
πΈ SYNOPSIS πΈ
sq pki link authorize [OPTIONS]
π¦ DESCRIPTION π¦
So, like, the whole point: this makes a certificate into a trusted introducer β¨
This causes sq to consider the certificate to be a trusted introducer. "Trusted introducer" is just another word for certification authority (CA for short, iykyk). When you link a trusted introducer, you're basically saying: yeah, I consider the certifications that this introducer makes to be valid π
. And a trusted introducer can also go ahead and designate further trusted introducers. It's giving chain of trust, fr fr.
Okay but here's the thing β as is, a trusted introducer has a LOT of power. Not me handing over the aux cord with no rules. So this power can be limited in several ways:
- The ability to specify further introducers can be constrained using the
--depthparameter. - The degree to which an introducer is trusted can be changed using the
--amountparameter. - The user IDs that an introducer can certify can be constrained by domain using the
--domainparameter or a regular expression using the--regexparameter.
These mechanisms let you say stuff like "yeah I'm willing to rely on the CA for example.org, but only for user IDs that have an email address for example.org" π§ that's the vibe.
A link can be retracted using sq pki link retract β so no, it's not forever if you change your mind, bestie.
Also just so you know: this command is similar to sq pki vouch authorize, except the certifications it makes are done using the certificate directory's trust root, not an arbitrary key. And further, the certificates are marked as non-exportable. The first thing makes it easier to manage certifications, especially when your certification key is offline. And the second one improves your privacy, by reducing the chance that parts of your social graph are leaked when a certificate is shared. Privacy queen behavior π
By default a link never expires. Using the --expiration argument, specific validity periods may be defined. It allows for providing a point in time for validity to end, or a validity duration.
And one more lil detail: sq pki link authorize respects the reference time set by the top-level --time argument. It sets the link's creation time to the reference time. β°
π OPTIONS π
π Subcommand options π
--add-email=EMAILβ use a user ID with the specified email address. The user ID consists of just the email address. And no, the email address does not have to appear in a self-signed user ID.--add-userid=USERIDβ use the specified user ID. The specified user ID does not need to be self signed. But since using a user ID that is not self-signed is often a mistake, you need to use this option to explicitly opt in. Yes, explicit. We love consent β¨--allβ use all self-signed user IDs.--allow-non-canonical-useridsβ don't reject new user IDs that are not in canonical form. Canonical user IDs are of the formName (Comment) <localpart@example.org>.--amount=AMOUNTβ set the amount of trust. Values between 1 and 120 are meaningful. 120 means fully trusted. Values less than 120 indicate the degree of trust. 60 is usually used for partially trusted.[default: full]--cert=FINGERPRINT|KEYIDβ use certificates with the specified fingerprint or key ID.--cert-special=SPECIALβ use certificates identified by the special name.[possible values: public-directories, keys.openpgp.org, keys.mailvelope.com, proton.me, wkd, dane, autocrypt, web]--depth=TRUST_DEPTHβ set the trust depth. This is sometimes referred to as the trust level. 1 means CERTIFICATE is a trusted introducer (default), 2 means CERTIFICATE is a meta-trusted introducer and can authorize another trusted introducer, etc.[default: 255]--domain=DOMAINβ add a domain constraint to the introducer. Add a domain to constrain what certifications are respected. A certification made by the certificate is only respected if it is over a user ID with an email address in the specified domain. Multiple domains may be specified. In that case, one must match.--email=EMAILβ use a user ID consisting of just the email address, if the email address occurs in a self-signed user ID.--expiration=EXPIRATIONβ sets the expiration time. EXPIRATION is either an ISO 8601 formatted date with an optional time, or a custom duration. A duration takes the formN[ymwds], where the letters stand for years, months, weeks, days, and seconds, respectively. Alternatively, the keywordneverdoes not set an expiration time.[default: never]--recreateβ recreate the signature even if the parameters did not change. If the link parameters did not change, and thus creating a signature should not be necessary, we omit the operation. This flag can be given to force the signature to be recreated anyway.--regex=REGEXβ add a regular expression to constrain the introducer. Add a regular expression to constrain what certifications are respected. A certification made by the certificate is only respected if it is over a user ID that matches one of the specified regular expression. Multiple regular expressions may be specified. In that case, at least one must match.--signature-notation NAME VALUEβ add a notation to the signature. A user-defined notation's name must be of the formname@a.domain.you.control.org. If the notation's name starts with a!, then the notation is marked as being critical. If a consumer of a signature doesn't understand a critical notation, then it will ignore the signature. The notation is marked as being human readable.--unconstrainedβ don't constrain the introducer. Normally an introducer is constrained so that only certain user IDs are respected, e.g., those that have an email address for a certain domain name. This option authorizes an introducer without constraining it in this way. Because this grants the introducer a lot of power, you have to opt in to this behavior explicitly.--userid=USERIDβ use the specified self-signed user ID. The specified user ID must be self signed.--userid-by-email=EMAILβ use the self-signed user ID with the specified email address.
π Global options π
See sq(1) for a description of the global options. (yes, go read the big one, it's worth it π«Ά)
π EXAMPLES π
Add an unconstrained trusted introducer. Full send, no rules, iconic π
sq pki link authorize --unconstrained \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
Add a trusted introducer for example.org and example.com. Two domains, one link, slay β¨
sq pki link authorize --domain=example.org \
--domain=example.com \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
Add a partially trusted introducer. Half the trust, all the vibes π
sq pki link authorize --unconstrained --amount=60 \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
β SEE ALSO β
sq(1), sq-pki(1), sq-pki-link(1).
For the full documentation see <https://book.sequoia-pgp.org/>. (go read it, it's giving textbook but make it useful π)
π VERSION π
1.5.0
and that's the whole page bestie π this is Sequoia PGP version 1.5.0, from the User Commands corner of the manual, dated 1.5.0 β periodt, no cap, go authorize someone trustworthily ππ¦β¨
π¦ 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