2014-05-26 23:49:33 +01:00
|
|
|
# gpg
|
|
|
|
|
2017-07-20 19:53:15 +01:00
|
|
|
> GNU Privacy Guard.
|
2022-06-02 20:03:11 +01:00
|
|
|
> See `gpg2` for GNU Privacy Guard 2. Most operating systems symlink `gpg` to `gpg2`.
|
2019-06-07 11:58:26 +01:00
|
|
|
> More information: <https://gnupg.org>.
|
2014-05-26 23:49:33 +01:00
|
|
|
|
2021-07-06 04:19:59 +01:00
|
|
|
- Create a GPG public and private key interactively:
|
|
|
|
|
|
|
|
`gpg --full-generate-key`
|
|
|
|
|
2021-01-31 17:05:18 +00:00
|
|
|
- Sign `doc.txt` without encryption (writes output to `doc.txt.asc`):
|
2014-05-26 23:49:33 +01:00
|
|
|
|
|
|
|
`gpg --clearsign {{doc.txt}}`
|
|
|
|
|
2022-05-31 03:21:29 +01:00
|
|
|
- Encrypt and sign `doc.txt` for alice@example.com and bob@example.com (output to `doc.txt.gpg`):
|
2014-05-26 23:49:33 +01:00
|
|
|
|
2022-05-31 03:21:29 +01:00
|
|
|
`gpg --encrypt --sign --recipient {{alice@example.com}} --recipient {{bob@example.com}} {{doc.txt}}`
|
2014-05-26 23:49:33 +01:00
|
|
|
|
2021-01-31 17:05:18 +00:00
|
|
|
- Encrypt `doc.txt` with only a passphrase (output to `doc.txt.gpg`):
|
2014-05-26 23:49:33 +01:00
|
|
|
|
|
|
|
`gpg --symmetric {{doc.txt}}`
|
|
|
|
|
2022-12-04 07:53:34 +00:00
|
|
|
- Decrypt `doc.txt.gpg` (output to `stdout`):
|
2014-05-26 23:49:33 +01:00
|
|
|
|
|
|
|
`gpg --decrypt {{doc.txt.gpg}}`
|
2014-08-13 19:48:25 +01:00
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
- Import a public key:
|
2014-08-13 19:48:25 +01:00
|
|
|
|
2015-10-22 08:31:52 +01:00
|
|
|
`gpg --import {{public.gpg}}`
|
2016-06-20 23:58:28 +01:00
|
|
|
|
2022-12-04 07:53:34 +00:00
|
|
|
- Export public key for alice@example.com (output to `stdout`):
|
2016-06-20 23:58:28 +01:00
|
|
|
|
|
|
|
`gpg --export --armor {{alice@example.com}}`
|
|
|
|
|
2022-12-04 07:53:34 +00:00
|
|
|
- Export private key for alice@example.com (output to `stdout`):
|
2016-06-20 23:58:28 +01:00
|
|
|
|
|
|
|
`gpg --export-secret-keys --armor {{alice@example.com}}`
|