Provided by: sq_0.40.0-1_amd64 bug

NAME

       sq key - Manage keys

SYNOPSIS

       sq key list [OPTIONS] FINGERPRINT|KEYID|PATTERN
       sq key generate [OPTIONS]
       sq key import [OPTIONS] KEY_FILE
       sq key export [OPTIONS]
       sq key delete [OPTIONS]
       sq key password [OPTIONS]
       sq key expire [OPTIONS]
       sq key revoke [OPTIONS]
       sq key userid [OPTIONS]  SUBCOMMAND
       sq key subkey [OPTIONS]  SUBCOMMAND
       sq key approvals [OPTIONS]  SUBCOMMAND

DESCRIPTION

       Manage keys.

       We  use  the term "key" to refer to OpenPGP keys that do contain secrets.  This subcommand
       provides primitives to generate and otherwise manipulate keys.

       Conversely, we use the term "certificate", or "cert" for short, to refer to  OpenPGP  keys
       that do not contain secrets.  See `sq cert` for operations on certificates.

SUBCOMMANDS

   sq key list
       List keys managed by the key store.

   sq key generate
       Generate a new key.

       Generating  a  key  is  the  prerequisite  to  receiving  encrypted  messages and creating
       signatures.  There are a few  parameters  to  this  process,  but  we  provide  reasonable
       defaults for most users.

       When  generating  a key, we also generate an emergency revocation certificate. This can be
       used in case the key is lost or compromised.  It is saved alongside the key.  This can  be
       changed using the `--rev-cert` argument.

       By  default  a  key  expires  after 3 years.  This can be changed using the `--expiration`
       argument.

       `sq key generate` respects the reference time set by the top-level `--time` argument.   It
       sets  the creation time of the primary key, any subkeys, and the binding signatures to the
       reference time.

   sq key import
       Import keys into the key store.

   sq key export
       Export keys from the key store.

       Exports the secret key material associated with a certificate.  Note that even  if  secret
       key  material  is  available, it may not be exportable.  For instance, secret key material
       stored on a hardware security module usually cannot be exported from the device.

       Iterate over all of the specified certificates  and  export  any  keys  (primary  key  and
       subkeys) with secret key material.  An error is returned if any specified certificate does
       not contain any secret key material.

       If you only want to export a particular key and not all keys associate with a certificate,
       use `sq key subkey export`.

   sq key delete
       Delete a certificate's secret key material.

   sq key password
       Change the password protecting secret key material.

       Secret key material can be protected by a password.  This subcommand changes or clears the
       password.

       To strip the password either use `--clear` or supply a zero-length password when  prompted
       for the new password.

       If  a  key  is  password  protected,  and  the correct password was not supplied using the
       `--password-file` argument, the user is prompted for the password.  Likewise, if  the  new
       password isn't provided, the user is prompted.

   sq key expire
       Change a certificate's expiration time.

       This subcommand changes a certificate's expiration time.  To change the expiration time of
       an individual subkey, use the `sq key subkey expire` subcommand.

   sq key revoke
       Revoke a certificate.

       Creates a revocation certificate for a certificate.

       If `--revoker` or `--revoker-file` is provided, then  that  key  is  used  to  create  the
       revocation  certificate.   If  that  key  is  different from the certificate that is being
       revoked, this results in a third-party revocation.  This is normally only  useful  if  the
       owner of the certificate designated the key to be a designated revoker.

       `sq  key revoke` 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  revocation  certificate's  creation time to the reference time
       instead of the current time.

   sq key userid
       Manage User IDs.

       Add User IDs to a key, or revoke them.

   sq key subkey
       Manage subkeys.

       Add new subkeys to an existing certificate, change their expiration, and revoke them.

   sq key approvals
       Manages certification approvals.

       Key holders may approve of third-party certifications associated with  their  certificate.
       This subcommand manages the approvals.

       To   prevent  certificate  flooding  attacks,  modern  key  servers  prevent  uncontrolled
       distribution of third-party certifications on certificates.  To allow the  key  holder  to
       control  what  information  is  distributed with their certificate, these key servers only
       distribute third-party certifications that the key holder has explicitly approved.

EXAMPLES

   sq key list
       List the keys managed by the keystore server.

              sq key list

       List the keys managed by the keystore server with a user ID in example.org.

              sq key list --cert-domain=example.org

   sq key generate
       Generate a key, and save it on the key store.

              sq key generate --own-key --without-password --name Alice \
                     --email alice@example.org

       Generate a key, and save it in a file instead of in the key store.

              sq key generate --own-key --without-password --name Alice \
                     --email alice@example.org --output alice-priv.pgp \
                     --rev-cert alice-priv.rev

       Strip the secret key material from the new key.

              sq key delete --cert-file=alice-priv.pgp --output=alice.pgp

   sq key import
       Import the keys into the key store.

              sq key import alice-secret.pgp

   sq key export
       Export Alice's certificate with all available secret key material.

              sq key export --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0

       Export Alice's certificate with all available secret  key  material  identified  by  email
       address.

              sq key export --cert-email alice@example.org

   sq key delete
       Delete any secret key associated with Alice's certificate.

              sq key delete --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0

       Delete any secret key associated with Alice's certificate selected by user ID.

              sq key delete --cert-email=alice@example.org

   sq key password
       Change the password for all of Alice's keys to the password in the specified file.

              sq key password --new-password-file password-file.txt --cert \
                     EB28F26E2739A4870ECC47726F0073F60FD0CBF0

       Clear the password protection for all of Alice's keys.

              sq key password --password-file password-file.txt \
                     --clear-password --cert \
                     EB28F26E2739A4870ECC47726F0073F60FD0CBF0

   sq key expire
       Change Alice's certificate to expire in a year.

              sq key expire --expiration 1y --cert \
                     EB28F26E2739A4870ECC47726F0073F60FD0CBF0

       Change Alice's certificate to never expire.

              sq key expire --expiration never --cert \
                     EB28F26E2739A4870ECC47726F0073F60FD0CBF0

   sq key revoke
       Revoke Alice's key, indicating that there is a new certificate.

              sq key revoke --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
                     --reason superseded --message \
                     "My new cert is C5999E8191BF7B503653BE958B1F7910D01F86E5"

       Revoke the key, indicating that the secret key material was compromised.

              sq key revoke --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
                     --reason compromised --message \
                     "Computer attacked, secret key material compromised"

SEE ALSO

       sq(1),    sq-key-list(1),    sq-key-generate(1),    sq-key-import(1),    sq-key-export(1),
       sq-key-delete(1),      sq-key-password(1),       sq-key-expire(1),       sq-key-revoke(1),
       sq-key-userid(1), sq-key-subkey(1), sq-key-approvals(1).

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

VERSION

       0.40.0 (sequoia-openpgp 1.21.2)