This is a command-line program for managing the database. It supports
All the operations of the daemon, and a few more.
This is the public key server daemon. It processes HTTP requests and
mail requests to add keys to the database and query the database
This is a helper program used by
This script is run for each mail message received to queue the message.
This script is used to process the queue of incoming mail messages.
pksd.conf(5) This file contains all the configuration data needed to run the system.
<db_dir>/keydbXXX These files contain the actual database. The first files contain the OpenPGP key information, indexed by the key ID. The XXX is 000, 001, 002, up to the number of key database files minus 1.
<db_dir>/num_keydb This file contains the number of key database files. In order to handle very large databases on operating systems with limited file sizes, the key database can be split into up to 1000 separate files.
<db_dir>/timedb This file indexes the key IDs by the time they were added to the database.
<db_dir>/worddb This file indexes the key IDs by the words in the keys user IDs.
The search engine is not the same as that used by the gpg(1) or pgp(1) programs. It will return information for all keys which contain all the words in the search string. A word in this context is a string of consecutive alphabetic characters. For example, in the string email@example.com, the words are user, example, and com.
pksd uses the locking, logging, and transaction facilities of Berkeley DB. This provides for added safety in the event of a server crash, and also allows for multiple pksd and/or pksclient processes to access the database at the same time.
This does make management of a key server a little more complicated. The Berkeley DB reference section on Berkeley DB Transactional Access Methods Applications
The key server was Marc Horowitzs Advanced Undergraduate Project (which is really a thesis, but with a different name) for his Bachelors degree in Computer Science and Engineering at the Massachusetts Institute of Technology. You can read detailed discussion of the internals of this key server, you can read the his AUP at
pksd.conf, <db_dir>/keydbXXX, <db_dir>/num_keydb, <db_dir>/timedb, <db_dir>/worddb
Marc Horowitz, Massachusetts Institute of Technology
Visit the bug tracking system linked from http://sourceforge.net/projects/pks to view or report bugs.
Copyright (c) 1996, 1997, 1998, 1999, Marc Horowitz. All rights reserved.
This software doesnt have a warranty, express or implied. See the LICENSE file in the source distribution for full conditions.
|-->||PKS-INTRO (8)||24 January 1996|