SQ(1)
SQ(1) π β or as I like to call her, sq-key-rotate
Hey bestie π«Ά you've landed on the manual page for sq key rotate, which lives in the User Commands corner of the Sequoia PGP universe. Let's get into it β¨
NAME π
sq-key-rotate β Rotate a certificate π
SYNOPSIS πΈ
sq key rotate [OPTIONS]
That's it, that's the whole vibe. Options go brrr π¦
DESCRIPTION π
Rotation. Of a certificate. Iconic behaviour, honestly.
It generates a brand new certificate to replace an existing one. Out with the old, in with the new, no cap π
The new certificate will have the same capabilities as the old certificate. You can override that with the --can-sign, --cannot-sign, etc., arguments. But heads up bestie: the new certificate may have a different shape from the old certificate. For instance, if the old certificate's primary key is marked as both certification and signing capable, the new certificate's primary key will be certification capable, and it will have a signing subkey. So it's giving glow-up, not clone π
By default the certificate expires after 3 years. Change that with the --expiration argument.
The new certificate will have the same self-signed user IDs as the old certificate. Revoked user IDs are ignored. (Sorry to the revoked ones, you're not invited π«)
The new certificate and the old certificate will cross certify each other as unconstrained trusted introducers. Mutual hype, mutual trust, we love to see it π«Ά
The new certificate will be linked in the same way as the old certificate. Override with --own-key or --shared-key if you want.
The new certificate will certify the same certificates as the old certificate. Basically the old cert's certifications get replayed. Peep sq pki vouch replay for more on that.
A revocation certificate will be issued, saying the old certificate is retired and the new certificate should be used instead. By default it goes into effect in 182 days. Change it or suppress it entirely with --retire-in.
When you use --output, the new certificate as well as all of the other updated certificates are written to the specified file.
Stable since 1.2.0. β¨ She's been around, she's reliable, she's a queen.
β¨ OPTIONS β¨
π Subcommand options
--can-authenticateβ Add an authentication-capable subkey π--can-encrypt=PURPOSEβ Add an encryption-capable subkey
Encryption-capable subkeys can be marked as suitable for transport encryption, storage encryption, or both, i.e., universal.
[possible values: transport, storage, universal]
--can-signβ Add a signing-capable subkey βοΈ--cannot-authenticateβ Don't add an authentication-capable subkey π--cannot-encryptβ Don't add an encryption-capable subkey π«--cannot-signβ Don't add a signing-capable subkey π--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 fromPATHπ--cert-userid=USERIDβ Use certificates with the specified user ID πͺͺ--cipher-suite=CIPHER-SUITEβ Select the cryptographic algorithms for the key π
The default can be changed in the configuration file using the setting key.generate.cipher-suite.
[default: cv25519]
[possible values: rsa2k, rsa3k, rsa4k, cv25519, cv448, mldsa65-ed25519, mldsa87-ed448]
--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 form N[ymwds], where the letters stand for years, months, weeks, days, and seconds, respectively. Alternatively, the keyword never does not set an expiration time.
[default: 3y]
--new-password-file=PASSWORD_FILEβ File containing password to encrypt the secret key material π
Note that the entire key file will be used as the password including any surrounding whitespace like a trailing newline. Yes bestie, that trailing newline counts. Every byte of it. π
--output=FILEβ Write the key to the specified file πΎ
When not specified, the key is saved on the key store.
--own-keyβ Mark the key as one's own key π
The newly generated key with all of its user IDs will be marked as authenticated and as a fully trusted introducer.
--profile=PROFILEβ Select the OpenPGP standard for the key π
As OpenPGP evolves, new versions will become available. This option selects the version of OpenPGP to use for the newly generated key.
Currently, sq supports only one version: RFC4880. Consequently, this is the default. However, there is already a newer version of the standard: RFC9580. And, the default will change in a future version of sq.
The default can be changed in the configuration file using the setting key.generate.profile.
[default: rfc4880]
[possible values: rfc9580, rfc4880]
--retire-in=TIMEβ Sets the time at which the certificate should be retired β°
TIME is either an ISO 8601 formatted date with an optional time or a custom duration. A duration takes the form N[ymwds], where the letters stand for years, months, weeks, days, and seconds, respectively. Alternatively, the keyword never skips the certification of a revocation certificate.
[default: 26w]
--rev-cert=FILEβ Write the emergency revocation certificate toFILEπ¨
When the key is stored on the key store, the revocation certificate is stored in $HOME/.local/share/sequoia/revocation-certificates by default.
When --output is specified, the revocation certificate is written to the file specified by --rev-cert.
If--outputis-, then this option must not also be-. fr fr, don't do it.
--shared-keyβ Mark the key as a shared key π―
The newly generated key with all of its user IDs will be marked as authenticated, but not as a trusted introducer. Further, the key metadata will indicate that this is a shared key.
Use this option if you plan to share this key with other people. Normally, you shouldn't share keys material. An example of where you might want to do this is a shared mailbox.
--without-passwordβ Don't protect the secret key material with a password π«£
π Global options
See sq(1) for a description of the global options. She's the main character, go read her page π
π« EXAMPLES π«
Rotates Alice's certificate. Slay, Alice π
sq key rotate --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0
π SEE ALSO π
For the full documentation see <https://book.sequoia-pgp.org/>. π
π·οΈ VERSION π·οΈ
1.5.0 β¨
Okay that's the whole page bestie, you ate that π«Ά This lil' beauty is brought to you by Sequoia PGP, version 1.5.0 β mwah π go rotate something iconic ππ
π¦ 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)
- 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