SQ(1)

πŸ’– SQ(1) β€” the manual page, but make it a group chat πŸ’–

okay bestie, so this is sq(1), section 1 of the user commands manual, and today's main character is sq-sign β€” signing messages and data files. no cap, she's iconic. this is the Sequoia PGP girlies' domain and we're gonna understand every single flag together, fr fr. ✨


🌸 NAME 🌸

sq-sign β€” sign messages or data files πŸ–ŠοΈβœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

sq sign [OPTIONS] FILE

that's it. that's the whole vibe. one command, one FILE, a whole lotta OPTIONS. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

not me explaining it plainly: this signs messages or data files. simple as.

she creates signed messages or detached signatures β€” and detached signatures? they're literally the girlies of software packaging. people use them to sign software packages like all the time. yep, detached signatures are often used to sign software packages. 🫢

the converse operation is sq verify. so like, sq sign makes it, sq verify checks it. they're a duo. main characters both. 🌈

and here's the important tea β˜•: sq sign respects the reference time set by the top-level --time argument. When set, it uses the specified time instead of the current time, when determining what keys are valid, and it sets the signature's creation time to the reference time instead of the current time. so yes, --time is highkey powerful β€” it's doing double duty, deciding which keys count as valid AND stamping the signature's creation time. slay. ⭐


✨ OPTIONS ✨

πŸ’œ Subcommand options πŸ’œ

  • --append β€” Append a signature to existing signature. (adding to the pile, as one does 🧚)
  • --binary β€” Emit binary data.
  • --cleartext β€” Create a cleartext-signed message.
  • --merge=SIGNED-MESSAGE β€” Merge signatures from the input and SIGNED-MESSAGE. combining the girls into one πŸ’ž
  • --message β€” Create an inline-signed message.
  • --mode=MODE β€” Select the signature mode.

so, signing can happen in binary mode or in text mode. Text mode normalizes line endings, which makes signatures more robust when a text is transported over a channel which may change line endings. And the iconic advice: in doubt, create binary signatures. 🫑

  • [default: binary]
  • [possible values: binary, text]

(that's all exact, bestie, don't @ me.)

  • --output=FILE β€” Write to FILE or stdout if omitted.
    • [default: -]
  • --signature-file=SIG β€” Create a detached signature file.
  • --signature-notation NAME VALUE β€” Add a notation to the signature.

listen, the deets matter here: a user-defined notation's name must be of the form name@a.domain.you.control.org. If the notation's name starts with a !, then the notation is marked as being critical. And here's the plot twist 😭: 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. so like… respect the format, k? πŸ’€

  • --signer=FINGERPRINT|KEYID β€” Create the signature using the key with the specified fingerprint or key ID.
  • --signer-email=EMAIL β€” Create the signature using the key where a user ID includes the specified email address.
  • --signer-file=PATH β€” Create the signature using the key read from PATH.
  • --signer-self β€” Sign using your default signer keys.

This adds the certificates listed in the configuration file under sign.signer-self to the list of signer keys.

and the iconic punchline: Currently, the list of keys to be added is empty. we love an honest queen πŸ™ˆ

  • --signer-userid=USERID β€” Create the signature using the key with the specified user ID.
  • FILE β€” Read from FILE or stdin if FILE is '-'.
    • [default: -]

🌟 Global options 🌟

See sq(1) for a description of the global options. (go read it, bestie, it's the mothership πŸš€)


πŸ”₯ EXAMPLES πŸ”₯

Create a signed message. πŸ’Œ

sq sign --signer-file juliet-secret.pgp --message document.txt

Create a detached signature. πŸŽ€

sq sign --signer-file juliet-secret.pgp \
       --signature-file=document.txt.sig document.txt

that backslash line-continuation? she's giving "I ran out of room on the line but I refuse to stop" energy. periodt. πŸ’…


🌈 SEE ALSO 🌈

sq(1).

For the full documentation see <https://book.sequoia-pgp.org/>. πŸ‘‘


πŸ‘‘ VERSION πŸ‘‘

1.5.0


anyway, that's the whole page, no cap, every flag accounted for, nothing skipped, we ate and left no crumbs πŸ“βœ¨

and for the cute sign-off: this lil' manual page lives under Sequoia PGP, version 1.5.0, section 1 of the manual, aka SQ(1). bye bestie, go sign something πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from