On Centos based systems, use the following command to install GnuPg tool.
yum install gnupg
The first step to use GnuPg is to create the public and private key pairs. The following command is used to create the keys.
[root@localhost ~]# gpg --gen-key
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: marc
Email address: marc@xxx.com
Comment: key
You selected this USER-ID:
"marc (key) <marc@xxx.com>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
can't connect to /root/.gnupg/S.gpg-agent': No such file or directory
gpg-agent[65063]: directory
/root/.gnupg/private-keys-v1.d' created
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
run the follwing commands
mkdir /root/.gnupg
cd /root/
ls
cd .gnupg/
ls
touch S.gpg-agent
ls
gpg --gen-key
after this the same steps
got new error now
can't connect to `/root/.gnupg/S.gpg-agent': Connection refused
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
run the below command ti run the agent as a daemon
[root@localhost man]# gpg-agent --daemon
GPG_AGENT_INFO=/tmp/gpg-9qjdzr/S.gpg-agent:1027:1; export GPG_AGENT_INFO;
[root@localhost man]# gpg-agent
gpg-agent: no gpg-agent running in this session
For a moment I thought that maybe GnuPG would just not work in WSL, but I managed to started manually:
[root@localhost man]# eval $(gpg-agent --daemon)
[root@localhost man]# gpg-agent
gpg-agent: gpg-agent running and available
repeat the same commands
gpg --gen-key
after completing all above steps
please export the public and secret key
gpg --armor --output ~/PUBLIC.gpg --export name/email/key
gpg --armor --output ~/PRIVATE.gpg --export-secret-keys name/email/key
gpg --encrypt --recipient name/email/key a.txt
gpg --decrypt abc.txt.gpg > abc.txt
Now you can use gpg4win for windows to decrypt file using the pub and secret keys