Importing gnupg key in apache

In case you need to use PGP in php you need to install gnupg extension in php. The problem comes when you want to run the routine from the webserver as the apache does not have a home and it cannot have a keyring.

For command line execution of the php script the current user key ring is used and the finger print of the key is used to identify and load the key.

In order to import key in Apache you need to set the environment variable in php script and the web server need to have access to that path. The following method is recommended.

a) Import the key in any user

b) Copy the whole .gnupg directory to apache home normally /var/www

cp -R ~/.gnupg /var/www

c) Chown to apache

chown -R apache:apache /var/www/.gnupg

This will ensure apache has a seperate set of key ring on its own.

You can also specify the home at time of import to bye pass this set

gpg –homedir /var/www –import public.asc

Now the import step is to specify in php script where to load the keys

// GnuPG code
putenv("GNUPGHOME=/var/www/.gnupg/");
Advertisements