SQ(1)
π SQ-KEYRING β manage collections of keys or certs π
okay bestie, welcome to the sq-keyring manual page, part of the SQ(1) squad π«Ά this is your group chat for managing keyrings and certrings, and yes we're gonna make it make sense. no cap.
β¨ SYNOPSIS β¨
sq keyring list [OPTIONS] FILE
sq keyring split [OPTIONS] FILE
sq keyring merge [OPTIONS] FILE
sq keyring filter [OPTIONS] FILE
like, four little subcommands, one big vibe π
πΈ DESCRIPTION πΈ
Manage collections of keys or certs. that's the whole job, and it eats every time.
So. Collections of keys or certificates β also known as "keyrings" when they contain secret key material, and "certrings" when they don't β are any number of concatenated certificates. literally just certificates holding hands in a row. π¦
This subcommand provides tools to list, split, merge, and filter keyrings. that's the four-way friendship group right there.
note note note: in the docs for this subcommand, we sometimes use the terms keys and certs interchangeably. so if you see "key" and you're like "wait, cert?" β¦ yeah. same thing here. keep up, it's fine π
π SUBCOMMANDS π
β sq keyring list
List keys in a keyring. casual. iconic.
Prints the fingerprint as well as the primary userid for every certificate encountered in the keyring. so you get the receipts and the name. obsessed. β¨
β sq keyring split
Split a keyring into individual keys.
Splitting up a keyring into individual keys helps with curating a keyring. think of it as spring cleaning but for certificates π§ΉπΈ
The converse operation is sq keyring merge. (they're the it-girl duo, one splits, one merges, balance π)
β sq keyring merge
Merge keys or keyrings into a single keyring.
Multiple versions of the same certificate are merged together. Where data is replaced (e.g., secret key material), data from the later certificate is preferred. so the newer one wins the argument, periodt.
β sq keyring filter
Join keys into a keyring applying a filter.
This can be used to filter keys based on given predicates, e.g. whether they have a user id containing an email address with a certain domain. Additionally, the keys can be pruned to only include components matching the predicates. (pruning = keeping only the parts that match, very main character energy π)
If no filters are supplied, everything matches. no filters, no problem, everyone's invited to the party π
If multiple predicates are given, they are or'ed, i.e., a key matches if any of the predicates match. To require all predicates to match, chain multiple invocations of this command. See EXAMPLES for inspiration. (iykyk β chaining is the secret tech π₯)
π¨ note: this command is considered experimental and may change in future releases. To acknowledge this, you must give the --experimental flag when invoking this command. no flag, no entry. rules are rules bestie π
π EXAMPLES π
π« sq keyring list
List all certificates.
sq keyring list certs.pgp
List all certificates with a user ID on example.org.
sq keyring filter --experimental --domain=example.org \
certs.pgp \
| sq keyring list
π« sq keyring split
Split all certificates.
sq keyring split certs.pgp
Split all certificates, merging them first to avoid duplicates.
sq keyring merge certs.pgp \
| sq keyring split
π« sq keyring merge
Merge certificate updates.
sq keyring merge bob.pgp bob-updates.pgp
π« sq keyring filter
Convert all keys to certificates (i.e. remove any secret key material).
sq keyring filter --experimental --to-cert certs.pgp
Get all certificates with a user ID on example.org.
sq keyring filter --experimental --domain=example.org \
certs.pgp
Get all certificates with a user ID on example.org or example.net.
sq keyring filter --experimental --domain=example.org \
--domain=example.net certs.pgp
Get all certificates with a name user ID matching Romeo.
sq keyring filter --experimental --name=Romeo certs.pgp
Get all certificates with a name user ID matching Romeo on example.org.
sq keyring filter --experimental --domain=example.org \
certs.pgp \
| sq keyring filter --experimental --name=Romeo
Get all certificates with a user ID on example.org, pruning other user IDs.
sq keyring filter --experimental --domain=example.org \
--prune-certs certs.pgp
π«Ά SEE ALSO π«Ά
For the full documentation see <https://book.sequoia-pgp.org/>. go read it, it's giving library πβ¨
π VERSION π
1.5.0
k that's the whole page bestie, you ate π
β¨ this was Sequoia PGP's sq-keyring, version 1.5.0, and yeahβthat's the SQ(1) energy. mwah πππ¦
π¦ 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