GnuPG Cheatsheet

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

GnuPG cheatsheet

GnuPG is a complete and free implementation of the OpenPGP standard.

Basics

Exporting keys

gpg -o key.gpg --export <KEY ID>

Export key in ASCII:

gpg -o key.asc --armor --export <KEY ID>

Note: Omitting the -o|--output option will print the key to stdout.

Importing keys

gpg --import key.gpg


gpg --import key.asc

Only merge updates for keys already in key-ring:

gpg --import key.asc --import-options merge-only

Managing your keyring

Generate a new key:

1/5
gpg --gen-key
# or, generate a new key with dialogs for all options
gpg --full-gen-key

List public keys:

gpg -k
gpg --list-keys

List secret keys:

gpg -K
gpg --list-secret-keys

Using a keyserver

Import keys from keyserver:

gpg --receive-keys <KEY IDS>

Upload keys to keyserver:

gpg --send-keys <KEY IDS>

Request updates from keyserver for keys already in your keyring:

gpg --refresh-keys

Search keys from keyserver:

gpg --search-keys "<SEARCH STRING>"

Override keyserver from ~/.gnupg/gpg.conf

gpg --keyserver <URL> ...

Trusting a key

gpg --edit-key <KEY ID>


# In the interactive prompt:
gpg> trust
gpg> save

NOTE: You can use the owner’s email or name (or part thereof) instead of the key ID for
--edit-key

Encrypting

Public key encryption

This will produce an encrypted file, secret.txt.gpg, that can only be decrypted by the
recipient:

2/5
gpg -e -o secret.txt.gpg -r <RECIPIENT> secret.txt

For <RECIPIENT> you can use their key ID, their email, or their name (or part thereof).

gpg -e -r <KEY ID> ...


gpg -e -r "Bez" ...
gpg -e -r "bezalelhermoso@gmail.com" ...

Specifying multiple recipients

gpg -e -r <RECIPIENT> -r <ANOTHER RECIPIENT> ... secret.txt

NOTE: Omitting -o|--output will produce an encrypted file named <ORIGINAL


FILENAME>.gpg by default.

Symmetric encryption

Encrypt file using a shared key. You will be prompted for a passphrase.

gpg --symmetric secret.txt


# or
gpg -c secret.txt

Decrypting

Decrypting a file

gpg -d -o secret.txt secret.txt.gpg

If the file is encrypted via symmetric encryption, you will be prompted for the passphrase.

NOTE: Omitting -o|--output will print the unencrypted contents to stdout

Signing & Verifying

Signing

gpg -o signed-file.txt.gpg -s file.txt

This can be used during encryption to also sign encrypted files:

gpg -s -o secret.txt.gpg \
-r <RECIPIENT> secret.txt

Verifying a signature

gpg --verify file.txt.gpg

Viewing content of signed file

3/5
gpg -d signed-file.txt.gpg

Miscellaneous

Components
List all components:

gpgconf --list-components

Kill a component:

gpgconf --kill <COMPONENT> # i.e. gpgconf --kill dirmngr

Kill all components:

gpgconf --kill all

Parsing keyring data


Use --with-colons to produce an output that can easily be parsed i.e. with awk, grep.
Fields are colon-separated.

gpg -k --with-colons

Field Quick Reference:

Field # Description

1 Record type

2 Validity

3 Key length in bits

4 Public key algorithm

5 Key ID

6 Creation date

7 Expiry date

8 Certificate S/N, UID hash, trust signature info

9 Ownertrust

10 User ID

11 Signature class

12 Key capabilities

13 Issuer fingerprint

4/5
14 Flag field

15 S/N of token

16 Hash algorithm

17 Curve name

18 Compliance flags

19 Last update timestamp

20 Origin

See GnuPG Details for more details.

5/5

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy