SQ(1)

๐Ÿ’– SQ-DECRYPT โ€” it's giving "unlock the tea" โœจ

okay bestie, welcome to the sq-decrypt page from the SQ(1) user commands manual ๐Ÿ’… she's the one who cracks open encrypted messages, and she is lowkey a whole vibe. also hi, we're in section 1 of the manual, keeping it cute, keeping it canonical ๐ŸŽ€


๐ŸŒธ NAME ๐ŸŒธ

sq-decrypt โ€” decrypt a message ๐Ÿฆ‹


โœจ SYNOPSIS โœจ

sq decrypt [OPTIONS] FILE

๐Ÿ’œ DESCRIPTION ๐Ÿ’œ

Decrypt a message. That's it, that's the job, no cap ๐Ÿ’–

She'll decrypt a message using either the keys you hand her, or by prompting you for a password ๐Ÿ”‘ Whichever way you go, if message tampering is detected, an error gets returned โ€” see the deets below, bestie, don't skip them.

If certificates are supplied using the --signer-file option, any signatures that are found get checked against those certificates ๐Ÿ‘‘ Verification only succeeds if there is no bad signature and the number of successfully verified signatures reaches the threshold you configured with the --signatures parameter. It's giving "strict queen energy".

If signature verification fails, or if message tampering is detected, the program terminates with an exit status indicating failure ๐Ÿ˜ญ and the output file gets deleted. Not archived, not backed up, deleted. And if the output was sent to stdout instead, then the last 25 MiB of the message are withheld โ€” which consequently means if the message is smaller than 25 MiB, no output is produced at all. Fr fr, plan accordingly.

โš ๏ธ tampering detected = failure exit status, output file gone, or last 25 MiB of stdout withheld. she is not playing around, bestie ๐Ÿ’€

The converse operation is sq encrypt ๐Ÿ” (yes, they're besties, obviously).


๐ŸŒˆ OPTIONS ๐ŸŒˆ

๐ŸŽ€ Subcommand options ๐ŸŽ€

  • --dump-session-key โ€” print the session key to stderr ๐Ÿ” like a little sneak peek, just for you.
  • --output=FILE โ€” write to FILE, or to stdout if you leave it out.
    • [default: -]
  • --recipient-file=KEY_FILE โ€” decrypt the message using the key in KEY_FILE ๐Ÿ”‘ that's your secret key file, girly.
  • --session-key=SESSION-KEY โ€” decrypt an encrypted message using SESSION-KEY ๐Ÿ—๏ธ
  • --signatures=N โ€” set the threshold of valid signatures to N ๐Ÿงฎ
    • The message will only be considered verified if this threshold is reached.
    • [default: 1 if at least one signer cert file is given, 0 otherwise]
  • --signer=FINGERPRINT|KEYID โ€” require a signature from a certificate with the specified fingerprint or key ID ๐Ÿ‘‘
  • --signer-domain=DOMAIN โ€” require a signature from a certificate where a user ID includes an email address for the specified domain ๐Ÿ“ง
  • --signer-email=EMAIL โ€” require a signature from a certificate where a user ID includes the specified email address ๐Ÿ’Œ
  • --signer-file=PATH โ€” require a signature from a certificate read from PATH ๐Ÿ“‚
  • --signer-userid=USERID โ€” require a signature from a certificate with the specified user ID ๐Ÿชช
  • FILE โ€” read from FILE, or from stdin if FILE is '-' ๐Ÿ“ฅ
    • [default: -]

๐Ÿซถ Global options ๐Ÿซถ

See sq(1) for a description of the global options โ€” she's the main character, go say hi ๐Ÿ’–


๐Ÿ”ฅ EXAMPLES ๐Ÿ”ฅ

Decrypt a file using a secret key ๐Ÿ”‘โœจ

sq decrypt --recipient-file juliet-secret.pgp ciphertext.pgp

Decrypt a file verifying signatures ๐Ÿ“๐Ÿ‘€

sq decrypt --recipient-file juliet-secret.pgp --signer-file \
       romeo.pgp ciphertext.pgp

decrypt a file using the key store ๐Ÿช๐Ÿ’…

sq decrypt ciphertext.pgp

(not the lowercase example heading, that's just how she came, and we respect her ๐Ÿซก)


๐ŸŒŸ SEE ALSO ๐ŸŒŸ

sq(1).

For the full documentation see <https://book.sequoia-pgp.org/> ๐Ÿ“š


๐Ÿ’ซ VERSION ๐Ÿ’ซ

1.5.0


okay bestie that's the whole page, you ate it up ๐Ÿ“ anyway, this masterpiece was brought to you by Sequoia PGP and she's sitting pretty at version 1.5.0, dated right there in the footer โ€” so go forth, decrypt responsibly, and remember: verify then trust, never the other way around ๐Ÿ’œ๐Ÿงšโœจ

๐Ÿ“ฆ where this page comes from