SQ(1)

πŸ’– sq-encrypt β€” encrypt a message, bestie πŸ’–

okay so this is the sq-encrypt page from the SQ(1) manual (that's "sq", the Sequoia PGP command suite, in case you were wondering πŸ¦‹). Sit down, get comfy, we're locking your messages UP. πŸ”’βœ¨


🌸 NAME 🌸

sq-encrypt β€” Encrypt a message


✨ SYNOPSIS ✨

sq encrypt [OPTIONS] FILE

πŸ’œ DESCRIPTION πŸ’œ

Encrypt a message. That's it, that's the whole vibe. πŸ’…

But fr fr, you can encrypt a message for any number of recipients AND with any number of passwords at the same time, and optionally sign the message while you're at it. Multitasking icon behaviour, no cap. πŸ‘‘

The converse operation β€” the reverse glow-up β€” is sq decrypt.

sq encrypt respects the reference time set by the top-level --time argument. It uses that reference time when selecting encryption keys, and it sets the signature's creation time to the reference time. So basically the clock you pick is the clock everybody sees. ⏰


πŸŽ€ OPTIONS πŸŽ€

🧚 Subcommand options

  • --binary β€” Emit binary data.
  • --compression=KIND β€” Select compression scheme to use.

[default: pad]

[possible values: none, pad, zip, zlib, bzip2]

  • --encrypt-for=PURPOSE β€” Select what kind of keys are considered for encryption.

[default: universal]

[possible values: transport, storage, universal]

  • --for=FINGERPRINT|KEYID β€” Use certificates with the specified fingerprint or key ID.
  • --for-email=EMAIL β€” Use certificates where a user ID includes the specified email address.
  • --for-file=PATH β€” Read certificates from PATH.
  • --for-self β€” Encrypt the message for yourself.

This adds the certificates listed in the configuration file under encrypt.for-self to the list of recipients. This can be used to make sure that you yourself can decrypt the message.

Currently, the list of certificates to be added is empty. (yes, empty. it's giving "placeholder era". πŸ™ˆ)

  • --for-userid=USERID β€” Use certificates with the specified user ID.
  • --output=FILE β€” Write to FILE or stdout if omitted.

[default: -]

  • --profile=PROFILE β€” Select the default OpenPGP standard for the encryption container.

When encrypting for certificates, the encryption container is selected based on the stated preferences of the recipients. However, if there is no guidance, for example because the message is encrypted only with passwords, sq falls back to this profile.

As OpenPGP evolves, new versions will become available. This option selects the version of OpenPGP to use for encrypting messages if the version can not be inferred otherwise.

Currently, sq supports two profiles: RFC9580 and RFC4880. Currently, the default is RFC4880. However, once support for RFC9580 is rolled out further, the default will change in a future version of sq. πŸ‘€ (heads up bestie, your default is lowkey on borrowed time)

The default can be changed in the configuration file using the setting encrypt.profile.

[default: rfc4880]

[possible values: rfc9580, rfc4880]

  • --set-metadata-filename=SET_METADATA_FILENAME β€” Set the filename of the encrypted file as metadata.
Do note, that this metadata is not signed and as such relying on it - on sender or receiver side - is generally considered dangerous. 🚨 Like, do not trust that little filename, okay? It has zero signature energy.
  • --signature-notation NAME VALUE β€” Add a notation to the signature.

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. 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.

  • --signer=FINGERPRINT|KEYID β€” Sign the message using the key with the specified fingerprint or key ID.
  • --signer-email=EMAIL β€” Sign the message using the key where a user ID includes the specified email address.
  • --signer-file=PATH β€” Sign the message 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.

Currently, the list of keys to be added is empty. (again!! empty!! the audacity 😭)

  • --signer-userid=USERID β€” Sign the message using the key with the specified user ID.
  • --use-expired-subkey β€” Fall back to expired encryption subkeys.

If a certificate has only expired encryption-capable subkeys, fall back to using the one that expired last. (last one out, lights off. πŸ•―οΈ)

  • --with-password β€” Prompt to add a password to encrypt with.

When using this option, the user is asked to provide a password, which is used to encrypt the message. This option can be provided more than once to provide more than one password. The encrypted data can afterwards be decrypted with either one of the recipient's keys, or one of the provided passwords.

  • --with-password-file=PATH β€” File containing password to encrypt the message.
Note that the entire key file will be used as the password including any surrounding whitespace like a trailing newline. πŸ’€ so like, that newline at the end of your file? that's part of the password now. sorry.

This option can be provided more than once to provide more than one password. The encrypted data can afterwards be decrypted with either one of the recipient's keys, or one of the provided passwords.

  • --without-signature β€” Do not sign the message. πŸ™…β™€οΈ
  • FILE β€” Read from FILE or stdin if FILE is '-'.

[default: -]

🌈 Global options

See sq(1) for a description of the global options. (the lore is all over there bestie)


πŸ”₯ EXAMPLES πŸ”₯

Encrypt a file for a recipient given by fingerprint.

sq encrypt --for=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
       --signer-email=juliet@example.org document.txt

Encrypt a file for a recipient given by email.

sq encrypt --for-email=alice@example.org \
       --signer-email=juliet@example.org document.txt

like... juliet signing, alice receiving? we love a plot twist. 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

sq(1).

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


⭐ VERSION ⭐

1.5.0


aaaand that's the page!! version 1.5.0, brought to you by the lovely humans at Sequoia PGP (page date: 1.5.0, and the man page header/footer both say SQ(1) in case you needed the receipt 🧾✨). go encrypt something iconic, bestie. periodt. πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from