larger smaller normal text version of this page

PGP Plugin for phplist

The PGP plugin adds signing and encryption functionality to phplist.

phplist 2.11.2 or up
gnupg 1.2.6 or up
gpgme 1.1.2 or up
the "gnupg" extension in PHP

disclaimer: this document does not explain how to install the prerequisites. If you don't know how to do that, ask your favourite Linux expert (or tincan).

there's a new value in the "configure" page, "Width for Wordwrap of Text messages" which would be best to set to -1, so that it doesn't wrap text messages.

On my Fedora Core 6 system, I installed my prerequisites like this (as root).
# yum install gpgme-devel
# pecl install gnupg
edit php.ini and set
# service httpd graceful

then, in order to have enough database space to store the Public Key for users, you will need to alter the database structure (if you haven't already done so)
# mysql > alter table phplist_user_user_attribute change column value value text;

or whatever the name of the table is for you.

Once that's sorted, get phplist 2.11.2 or up and change the plugins directory constant in your config file
- put the "keymanager.php" file in the plugins directory of phplist and point your PLUGIN_ROOTDIR to this location.
- edit it to point to the location of the files (if you put the directory "keymgr" as a subdirectory of the plugins directory, you don't need to edit it).
- make sure the "keyring" directory is writable for your webserver user.

Once that's all done, the "keymanager" link should show up in the menu on the right. If it doesn't something is wrong.

The keymanager has a little menu, [ configure | add a key | list keys | synchronise keys | sign text | encrypt text ]

configure -> allows you to tell it the attribute that users will use to upload their Public Key
add a key -> allows you to upload new keys. If you want to sign a message, you need to upload both your Public and Private key
list keys -> list keys currently known
synchronize keys -> this will synchronise the keys in the keyring with the ones in the database. It is best to run this hefore you are actually using keys to either sign or encrypt before sending out messages. It will also search for all keys in user profiles.
sign text -> allows you to test a key to see if signing works ok
encrypt text -> allows you to test a key to see if encryption works ok

Then, on the "Send a message" page, there will be a new TAB that allows you to specify the PGP options for the message:

sign message -> this will require you to enter the passphrase for the key you want to sign with
encrypt message -> send the message encrypted to users who have a Public Key

Page was generated in 0.0474 seconds