GnuPG or GPG is Gnu version of Open PG standard implementation. It is very popular especially at personal use for mails etc. Here I will look basic usage of gpg2 in Linux command line interface. gpg2 is the second major version of gpg.

Create/Generate Private GPG Keys

Here we will create public and private keys for key-ring. Required information asked while certificate generation process. Real name and Email address is given by user and then to encrypt these public and private keys and password is created

$ gpg2 --key-gen

During generation of the GPG Private Keys we will be asked for Real Name and Email . After providing this information we will need to enter a passphrase which will be used to encrypt our GPG Private Key. Generation of the private key requires some randomness which may take some time according to the situation. After keys are generated their serial number are provided.

List Existing PGP Keys

It can be auto completed by using tab as you can see in first command. In the second command we list existing public keys in keyring. We will provide --list-key option like below.

$ gpg2 --list-key

We can see that keys are stored in the user home directory .gnupg directory. Some information like Valid etc also provided during the listing of the keys.

Sign PGP Key

To sign the data with the specific key not default. Here the --default-key parameter is looked in keyring in fingerprint, name, email etc. If you want signature apart from data use -b option. We will provide İsmail as default key with the --default-key option. We will also provide the data with the -s option.

$ gpg2 --default-key İsmail -s test

We will also asked for passphrase to decrypt and use our private key which is create in the previous step.

List Secret Keys

To see private keys and related info like fingerprint. We will use --list-secret-keys option for this.

$ gpg2 --list-secret-keys

Verify Signed PGP File

The main usage aim of PGP is verifying file whether they are signed accordingly. We can use --verify option by providing the file name. We will verify the gpg file named data.gpg .

$ gpg2 --verify data.gpg

Export Keys

Some time we may need to use existing key in different systems. We have to export these keys into a file. To export existing keyring and use in other systems. We will export existing keys into file name mykeys

$ gpg2 --export > mykeys

How To Use GPG To Create, List Keys and Sign Files? Infographic