Skip to content

Gpg

Keys

Generate a new key

sh
gpg --full-generate-key

List keys

sh
gpg --list-keys

List secret keys

sh
gpg --list-secret-keys

Export public key

sh
gpg --armor --export <email>

Export secret key

sh
gpg --armor --export-secret-key <email>

Import key

sh
gpg --import <keyfile>

Delete public key

sh
gpg --delete-key <email>

Delete secret key

sh
gpg --delete-secret-key <email>

Encryption & Decryption

Encrypt a file (to recipient)

sh
gpg --output <file>.gpg --encrypt --recipient <email> <file>

Decrypt a file

sh
gpg --output <file> --decrypt <file>.gpg

Encrypt a file with symmetric cipher

sh
gpg --symmetric <file>

Decrypt a symmetric file

sh
gpg --output <file> --decrypt <file>.gpg

Signing & Verification

Sign a file

sh
gpg --armor --output <file>.asc --sign <file>

Verify a signed file

sh
gpg --verify <file>.asc

Create a detached signature

sh
gpg --armor --output <file>.sig --detach-sign <file>

Verify a detached signature

sh
gpg --verify <file>.sig <file>

Misc

Trust a key

sh
gpg --edit-key <email>
# then use 'trust' command in the prompt

Refresh keys from keyserver

sh
gpg --refresh-keys

Send key to keyserver

sh
gpg --keyserver <server> --send-keys <keyid>